Python while循环和放置需要使用什么语法?

Python while循环和放置需要使用什么语法?,python,python-3.x,Python,Python 3.x,几天前我开始学习python,我试图创建一个带有多个密码选项的登录界面,但在输入正确的密码之前无法找到正确的方法使其循环,我尝试使用“while”,但似乎无法理解代码中的语法和位置,如果结果是“else”,我希望它重复第一段代码,以便我可以尝试再次键入密码,请帮助 import random male = random.choice([True, False]) import random num = random.choice(["1", "0"]) n

几天前我开始学习python,我试图创建一个带有多个密码选项的登录界面,但在输入正确的密码之前无法找到正确的方法使其循环,我尝试使用“while”,但似乎无法理解代码中的语法和位置,如果结果是“else”,我希望它重复第一段代码,以便我可以尝试再次键入密码,请帮助

import random
male = random.choice([True, False])
import random
num = random.choice(["1", "0"])
name = "joe"
user_input= input ("insert Password here ")
if ((user_input == "joey") or (user_input == "loki")):
    if male == True: print("hello")
    if male == False: print("wellcome")
    if name == "joe":
        if num == "1":
            print("hi world")
    if name == "joe":
        if num == "0":
            print("nice")
    if name + num == ("joe" + "0"):
        print("thats working")
else:
  print ("Wrong Password,Please try again.")

首先,我想指出,您只需要导入库一次。其次,如果希望代码重复,则需要一个循环,在python中有两种类型的循环-
for loop
while loop
。对于您的需求,我建议使用下面给出的while循环。我无法真正理解您试图实现的目标,但我已经对您的代码进行了一些改进

import random
male = random.choice([True, False])
num = random.choice(["1", "0"])
name = "joe"

while True:
    user_input= input("insert Password here ")
    if (user_input == "joey") or (user_input == "loki"):
        if male == True: 
            print("hello")
        elif male == False: 
            print("wellcome")
        else:
            break

        if name == "joe" and num == "1":
            print("hi world")

        elif name == "joe" and num == "0":
            print("nice")

        if name + num == ("joe" + "0"):
            print("thats working")
        else:
            break
    else:
      print ("Wrong Password,Please try again.")

另一种让它重复运行的方法是使用递归函数,但是,由于您刚刚开始使用python,我建议您在进入递归函数之前先学习循环。

您可以使用以下通用语法来验证输入:

input\u to\u validate=input(消息\u在\u输入上)
无效时(输入\u以\u验证):
打印(消息\u on\u错误)
输入到验证=输入(输入上的消息)
其中
是否有效()
确定输入是否有效的方法

在编写任何代码之前,请务必正确学习该语言,并查找正确的语法约定。以下代码可读性更强,更符合编码标准:

随机导入
男性=随机。选择([对,错])
num=random.choice([“1”,“0”])
name=“乔”
def有效(密码):
在[“joey”,“loki”]中返回密码
用户输入=输入(“在此处插入密码:”)
#只要用户输入无效,此while循环就会运行
虽然无效(用户输入):
打印(“密码错误,请重试。”)
用户输入=输入(“在此处插入密码:”)
#只有当用户输入有效时,才能到达代码的这一部分
如果是男性:
打印(“你好”)
其他:
打印(“欢迎”)
如果名称==“joe”:
如果num==“1”:
打印(“hi world”)
其他:
打印(“尼斯”)
如果name+num==“joe0”:
打印(“正在工作”)

这是否回答了您的问题?通常不建议使用
while True
循环和
break
语句,因为循环结束时可能不清楚。第一个
break
语句是多余的,因为
male
要么是真的,要么是假的,不能是其他任何东西。@AAAlex123是的,我知道,谢谢你指出。我想提供一个没有函数的解决方案,使它尽可能简单。我相信这可以根据需要进行编辑。老实说,我并没有真正尝试使用这些代码,只是为了更多地体验python并解决我在这里用代码遇到的问题。哈哈,非常感谢你的回答,这非常有帮助:)@euch56没问题,是的,你只是在不断学习和培养兴趣。Python是一种有趣的语言,你可以用它完成很多事情。是的,我仍然掌握了一些诀窍,你的语法是对的,我需要学习更多关于如何使我的代码更可读和标准的知识,谢谢你的评论,我会照你说的做:)