python学习笔记-学习中遇到的坑

1、列表删除所有元素必须用切片去循环遍历   #定义一个列表,每一次循环结束之后,切片里的值会赋予user列表 user = ['admin','judi','ada','hong','ming'] #创建切片,当i在切片中时进行循环 for i in user[:]: #删除切片中的元素i        user.remove(i) #如果切片中的i返回的时false(切片为空则跳出循环)     if user == "false":         break     print(user)     print("we need to find some user”)   2、python不支持tap+空格的缩进方式,有些编译器会报错 3、注意标点符号的中英文格式 4、f”"不止是用于输出,类似.formate。可以用于两个不同的字符串拼接,比如 full_name = f”{first_name}{last_name}” 5、非空的字符串/列表会返回为true 6、for循环一定要限制范围 for i in range()     如果不限制范围将会遍历所有内容     for I in list:     将会遍历list中所有的元素 7、多条件判断可以用if嵌套       
# 输入某年某月某日判断这一天是这一年的第几天
def times():
#死循环当输入的内容符合月份1~12,日期1~31才允许继续执行
year = int(input('请输入年份'))
while True:
i = 0
month = int(input('请输入月份'))
#当输入的月份符合规则继续输入天数
if month not in [i for i in range(1, 13)]:
print("月份输入错误")
continue
while True:
day = int(input('请输入天数'))
#当输入的天数符合规则进行闰年的判断
if day not in[m for m in range(1, 32)]:
print("天数输入错误")
continue
# 判断是否是闰年
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
month_number = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 如果输入的月份在months里,进行循环相加
for m in range(month - 1):
# 取每个月的天数相加
i += month_number[m]
print(i)
# 所有的天数加上输入的天数
days = i + day
print(days)
print(f"{year}年-{month}月-{day}日,是{year}年的第{days}天")
else:
month_number = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
for m in range(month - 1):
i += month_number[m]
days = i + day
print(f"{year}年-{month}月-{day}日,是{year}年的第{days}天")
times()

    当满足第一个判断时,会继续当前循环直到用户输入的值在1~12之间,然后进入第二个判断,满足第二个判断则继续当前的while循环,直到用户输入的值在1~31之间     8、要多print检查结果,当出现报错的时候可以多加print看看哪一步出了问题,对于新手来说断点调试还是有些难度的就可以通过print来检查
上一篇:AcWing第 31 场周赛——01数


下一篇:2021-12-31 ×86架构与ARM架构的区别