前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python日常刷题(一)

python日常刷题(一)

作者头像
用户11029137
发布2024-03-19 15:59:49
820
发布2024-03-19 15:59:49
举报
文章被收录于专栏:编程学习编程学习

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

错题集

1,密码游戏

我写的:

代码语言:javascript
复制
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返回字符

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

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

代码语言:javascript
复制
stack.append(int(input()))

注意input()以后要转为int,如下要实现:if 0 如果不用int() ,则返回的是字符“0”

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

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

注意: 1,在python中两个整数相除/会保留小数部分(这点与C语言不同) 2,//代表的是整除(抛弃小数)

代码语言:javascript
复制
x = int(input()) # 输入5
y = int(input()) # 输入2
print(f"{x/y} ")  # 输出:2.5
print(f"{x%y}")   # 输出:1
print(f"{x//y}")  # 输出:2

4,if也可判断空列表

空列表在这里相当于None

代码语言:javascript
复制
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 子句”。 例如:

代码语言:javascript
复制
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语句

代码语言:javascript
复制
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,注意输入次数

一开始写的(错误的):

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

这里先输入一个值,先判断是否等于pizza,如果不等于就会执行下一个elif语句: 但是,下一个elif语句又会让你再输入一个值 修改后:

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

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

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

代码语言:javascript
复制
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,换行

要求换行:

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

9,列表解析(?)

(还不是很理解)

代码语言:javascript
复制
numbers_list = [i for i in range(10)]
print(numbers_list)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 错题集
    • 1,密码游戏
      • 2,input返回字符
        • 3,除法(/、//、%)
          • 4,if也可判断空列表
            • 5,else和for的特殊交叉
              • 6,注意输入次数
                • 7,计算均绩(不使用字典)
                • 8,换行
                • 9,列表解析(?)
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档