Python之for循环的使用(3)

if t_name == 0:
                exit = input('查询错误,请重确认要修改的学生姓名,退回主菜单请按N')
                if exit == 'n':
                    break
                continue
            else:
                exit = input('查询成功,输入名字继续查询,退回主菜单请按N')
                if exit == 'n':
                    break
                continue


        while int(order) == 4:

name = input("请输入你要删除信息的学生的姓名:")

t_name = 0  # 输入正确标志位

for sname in student:
                if name == sname['姓名']:
                    student.remove(sname)
                    t_name = 1
                    break
            if t_name == 0:
                exit = input('查询错误,请重确认要删除的学生姓名,退回主菜单请按N')
                if exit == 'n':
                    break
                continue
            else:
                exit = input('查询成功,输入名字继续删除,退回主菜单请按N')
                if exit == 'n':
                    break
                continue

while int(order) == 5:
            if len(student) == 0:
                print('系统里面没有数据,请录数据')
                break
            else:
                for s_name in student:
                    print(s_name)
            exit = input('预览成功!按任意键返回主菜单\n')
            break

if int(order) == 6:
            print('感谢你的使用,再见!\n')
            break


    else:
        print('输入有误,请输入序号1~6')
        m += 1
        if m > 2:
            print('你已经重复输错三次,结束本次操作')
            break
        continue

解决问题一的方式:(1)加入一个死循环,强制输入整数

while True:
        order = input('请输入序号,进行你想要的操作:')
        try:
            order = int(order)
            break
        except:
            print("pls enter number")
            continue上一个

(2)加入一个字符串检测:isdigit()函数检测输入的字符串是不是数字,是的话返回True,否则继续上一个循环

order = input('请输入序号,进行你想要的操作:')

if order.isdigit():
    order = int(order)
else:
    print('请输入正确的数字')
    continue

问题二,跳出for循环,在外面在套一层while循环,加入标志位

while int(order) == 1:
            valid = 0
            while not valid:
                valid = 1
                name = input('请输入学生的姓名:')# 数据录入#需要解决重复录入的问题
                for stu_name in student:
                    if name == stu_name['姓名']:
                        stu_id = input('该学生已经录入信息,请确认是否重复录入,并比较学号')
                        if stu_id == stu_name['学号']:
                            print('重复录入!请录入下一个')
                            valid = 0
                        break

print('请继续接下来的信息录入!')

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/9aa9350c2a54354bea2a314c4acdedd3.html