python日常刷题(一)

前言:本文记录2024年3月11日至2024年3月19日牛客网所做的基础题目(错题本):

🎬个人简介:努力学习ing

📋本专栏:python日常刷题

🎀CSDN主页:愚润求学


文章目录

错题集

1,密码游戏

我写的:

python 复制代码
num =  input()
b = []
for i in num:
    x = (int(i)+3)%9
    b.append(x)
b[0],b[2] = b[2],b[0]
b[1],b[3] = b[3],b[1]
for i in b:
    print(i, end='')

I get it:

1,将数据通过append依次存入列表

2,两数交换(a,b = b,a

2,input返回字符

python 复制代码
stack = [1, 2, 3, 4]
stack.append(input()) # 输入 1 (返回了'1',变成了:append('1'))
print(stack) # 输出 [1, 2, 3, 4, '1'] 

要输出[1,2,3,4,1]:

python 复制代码
stack.append(int(input()))

注意input()以后要转为int,如下要实现:if 0

如果不用int() ,则返回的是字符"0"

c 复制代码
if int(input()):
    print("hello world!")
else:
    print("Erros!")

3,除法(/、//、%)

注意:

1,在python中两个整数相除/会保留小数部分(这点与C语言不同)

2,//代表的是整除(抛弃小数)

c 复制代码
x = int(input()) # 输入5
y = int(input()) # 输入2
print(f"{x/y} ")  # 输出:2.5
print(f"{x%y}")   # 输出:1
print(f"{x//y}")  # 输出:2
print((4 + 8) / 2)  # 输出:6.0

4,if也可判断空列表

空列表在这里相当于None

c 复制代码
my_list = []
if my_list:
    print("my_list is not empty!")
else:
    print("my_list is empty!")

5,else和for的特殊交叉

一般来说,elsefor属于不同的层次,但是:

它们在循环中也有特殊的交互。在 for 循环中,else 子句可以用于指定循环正常结束时的代码块,即当循环没有被 break 语句中断时执行的代码。这被称为"else 子句"。

例如:

python 复制代码
for i in range(5):
    if i == 3:
        break
    print(i)
else:
    print("循环正常结束")

在上面的示例中,当 i 的值达到 3 时,break 语句会中断循环,因此 else 子句将不会执行。

但,如果循环正常结束(即完成了所有迭代),else 子句将会执行。

错题:

如下,判断new的元素在不在current里面:

思路:用for依次拿到new_users的每一个元素------再依次拿current_users的元素与之比较------当相等的时候会进入if,如果都不相等,则本次for正常执行完,于是执行下面的else语句

python 复制代码
current_users = ['Niuniu','Niumei','GURR','LOLO']
new_users = ['GurR','Niu Ke Le','LoLo','Tuo Rui Chi']
for i in new_users:
    for j in current_users:
        if i.lower() == j.lower():
            print(f"The user name {i} has already been registered! Please change it and try again!")
            break
    else:
            print(f"Congratulations, the user name {i} is available!")

6,注意输入次数

一开始写的(错误的):

python 复制代码
if input() == "pizza":
    print(10)
elif input() == "rice":
    print(2)
elif input() == "yogurt":
    print(5)
else:
    print(8)

这里先输入一个值,先判断是否等于pizza,如果不等于就会执行下一个elif语句:

但是,下一个elif语句又会让你再输入一个值

修改后:

python 复制代码
a = input()
if a == "pizza":
    print(10)
elif a == "rice":
    print(2)
elif a == "yogurt":
    print(5)
else:
    print(8)

7,计算均绩(不使用字典)

使用两个列表分别存放要记录的值

python 复制代码
level = []
score = []
new_level ,new_score,total_score = 0,0,0
while 1:
    new_level = input()
    if new_level == "False":  
    # 注意这里一定是和字符串"False"比较,因为input返回的是字符串("False"),而不是布尔值
        break
    else:
        level.append(new_level)
        new_score = float(input())
        score.append(new_score)
        total_score +=new_score
sum = 0
for i in range(len(score)):
    if level[i] == "A":
        sum += score[i]*4.0
    elif level[i] == "B":
        sum += score[i]*3.0
    elif level[i] == "C":
        sum += score[i]*2.0
    elif level[i] == "D":
        sum += score[i]*1.0
    else:
        sum += 0
print(f"{sum/total_score:.2f}")

8,换行

要求换行:

python 复制代码
print() # print("\n")是换两行(因为print的默认参数:结束后会换行)

9,列表解析(?)

(还不是很理解)

python 复制代码
numbers_list = [i for i in range(10)]
print(numbers_list)

🌈我的分享也就到此结束啦🌈

要是我的分享也能对你的学习起到帮助,那简直是太酷啦!

若有不足,还请大家多多指正,我们一起学习交流!

📢公主,王子:点赞👍→收藏⭐→关注🔍

感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

相关推荐
许野平18 分钟前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
也无晴也无风雨21 分钟前
在JS中, 0 == [0] 吗
开发语言·javascript
狂奔solar30 分钟前
yelp数据集上识别潜在的热门商家
开发语言·python
Tassel_YUE31 分钟前
网络自动化04:python实现ACL匹配信息(主机与主机信息)
网络·python·自动化
聪明的墨菲特i38 分钟前
Python爬虫学习
爬虫·python·学习
密码小丑1 小时前
11月4日(内网横向移动(一))
笔记
blammmp1 小时前
Java:数据结构-枚举
java·开发语言·数据结构
momo_aa1 小时前
mac找到主目录下的文件夹
经验分享
何曾参静谧1 小时前
「C/C++」C/C++ 指针篇 之 指针运算
c语言·开发语言·c++
暗黑起源喵1 小时前
设计模式-工厂设计模式
java·开发语言·设计模式