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来检查
posted @ 2021-12-25 23:23  Rookie_C  阅读(51)  评论(0编辑  收藏  举报