pyton 关于while与break的循环出了bug

img

img


怎样才能让他当填入的答案不是男或女的时候让他循环到第一个填性别那里呢?

第5行替换成第2行的内容,不要break。第6行删掉。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    在该程序中,应该使用一个while循环,当用户输入不正确的性别时,使用continue语句退出本轮循环,重新回到填写性别的阶段,一直循环直到用户输入正确的性别。代码如下:

    while True:
        gender = input("请输入您的性别(男/女):")
        if gender != "男" and gender != "女":
            print("您输入的性别不正确,请重新输入。")
            continue
        else:
            break
    

    在这个循环中,使用了一个while True无限循环,只有当用户输入正确的性别时才会break跳出循环。每次循环时,先让用户输入性别,如果输入不是男或女,则打印提示信息并使用continue语句退出本轮循环,重新回到输入性别的阶段。如果输入的性别是男或女,则break跳出循环。这样就可以保证用户输入正确的性别后才能继续往下执行程序。

    可能还需要注意的是,Python中字符串的比较需要使用==,不能使用=,因为单个等号表示赋值操作。同时,为了避免用户输入大小写不同的男/女,可以使用lower()函数将输入转换为小写再进行比较。优化后的代码如下:

    while True:
        gender = input("请输入您的性别(男/女):")
        if gender.lower() != "男" and gender.lower() != "女":
            print("您输入的性别不正确,请重新输入。")
            continue
        else:
            break
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^