当前位置: 首页 > news >正文

python日常刷题(一)

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

🎬个人简介:努力学习ing
📋本专栏:python日常刷题
🎀CSDN主页:愚润求学


文章目录

  • 错题集
    • 1,密码游戏
    • 2,input返回字符
    • 3,除法(/、//、%)
    • 4,if也可判断空列表
    • 5,else和for的特殊交叉
    • 6,注意输入次数
    • 7,计算均绩(不使用字典)
  • 8,换行
  • 9,列表解析(?)

错题集

1,密码游戏

在这里插入图片描述

我写的:

num =  input()
b = []
for i in num:x = (int(i)+3)%9b.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返回字符

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

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

stack.append(int(input()))

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

if int(input()):print("hello world!")
else:print("Erros!")

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

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

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

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 子句”。
例如:

for i in range(5):if i == 3:breakprint(i)
else:print("循环正常结束")

在上面的示例中,当 i 的值达到 3 时,break 语句会中断循环,因此 else 子句将不会执行。
但,如果循环正常结束(即完成了所有迭代),else 子句将会执行。

错题:

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

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!")breakelse:print(f"Congratulations, the user name {i} is available!")

6,注意输入次数

在这里插入图片描述
一开始写的(错误的):

if input() == "pizza":print(10)
elif input() == "rice":print(2)
elif input() == "yogurt":print(5)
else:print(8)

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

a = input()
if a == "pizza":print(10)
elif a == "rice":print(2)
elif a == "yogurt":print(5)
else:print(8)

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

在这里插入图片描述
使用两个列表分别存放要记录的值

level = []
score = []
new_level ,new_score,total_score = 0,0,0
while 1:new_level = input()if new_level == "False":  # 注意这里一定是和字符串“False”比较,因为input返回的是字符串(“False”),而不是布尔值breakelse: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.0elif level[i] == "B":sum += score[i]*3.0elif level[i] == "C":sum += score[i]*2.0elif level[i] == "D":sum += score[i]*1.0else:sum += 0
print(f"{sum/total_score:.2f}")

8,换行

要求换行:

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

9,列表解析(?)

(还不是很理解)
在这里插入图片描述

numbers_list = [i for i in range(10)]
print(numbers_list)

🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

http://www.lryc.cn/news/322025.html

相关文章:

  • Python 利用pandas和mysql-connector获取Excel数据写入到MySQL数据库
  • Stable Diffusion训练图片时,简陋的数据处理
  • 如何在ubuntu 18.04中升级python 3.6到3.7
  • python爬虫基础实验:通过DBLP数据库获取数据挖掘顶会KDD在2023年的论文收录和相关作者信息
  • 简单记录一次帮维修手机经历(Vivo x9)
  • ap聚类是什么
  • C数据类型(C语言)---变量的类型决定了什么?
  • axios、axios二次封装、api解耦
  • HTML 特殊元素:展示PDF、展示JSON 数据
  • 算法·动态规划Dynamic Programming
  • 鸿蒙Harmony应用开发—ArkTS-转场动画(共享元素转场)
  • 【C语言】循环语句(语句使用建议)
  • Spring Data访问Elasticsearch----响应式Reactive存储库
  • 堆排序(c语言)
  • 开源IT自动化运维工具Ansible解析
  • 【C++】仿函数优先级队列反向迭代器
  • UE4_调试工具_绘制调试球体
  • 机器人路径规划:基于冠豪猪优化算法(Crested Porcupine Optimizer,CPO)的机器人路径规划(提供MATLAB代码)
  • 探索.NET中的定时器:选择最适合你的应用场景
  • 5467: 【搜索】流浪奶牛
  • spring boot整合elasticsearch实现查询功能
  • 白嫖阿里云程序员日历
  • ubuntu20.04搭建rtmp视频服务
  • Request failed with status code 504,Gateway time out
  • 四、Elasticsearch 进阶
  • 海外云手机如何帮助亚马逊引流?
  • Gateway新一代网关
  • Simulink中Scope图像导出在MATLAB上重新画
  • 利用opencv获取系统时间
  • Go环境变量配置,及GOROOT、GOPATH的区别