设置循环时出错!While/if/else/elif?

2024-05-21 00:20:59 发布

您现在位置:Python中文网/ 问答频道 /正文

问题在于知识的匮乏。但这是我的问题

我试着做一个while循环来找出客户想要选择哪种语言

我试着用while循环设置一个简单的“问答”脚本。继续变量A(varr),中断变量B(othervarr)

Python说“continue没有正确地设置在循环中” 或者“打破外循环”

所以现在我的问题不是像你那样给我一个极好的代码(我甚至不明白),我的问题是while循环和if/else有什么区别?使用if/else语句是否更好?如何划分客户选择“A”(并为A获取脚本)或选择“B”(为B获取脚本)的可能性

提前谢谢你的时间

varr = "german"
othervarr = "english"

print("Hello everybody. This is the first Version of 'Ismypasswordsafe' ! If you want to enter in german, type german below, if you want to continue in english, type english below")
while input() == varr:
continue;
print("Du hast dich fuer Deutsch entschieden !")
if input() == othervarr:
break;
print("Alright you choosed English")

Tags: toin脚本you客户ifenglishelse
3条回答

为了回答您的问题,您不希望对此使用while循环,因为它只会在条件为true时运行

所以对于你的代码

while input() == varr:

如果用户输入德语,这是很好的,但是如果用户输入英语,就永远不会启动

如果输入在任何循环之外,那么只需使用if语句检查输入就更好了

在if之后执行其他操作的问题在于它没有真正检查其他输入,它只是说如果不是一个输入,那么它一定是另一个输入

请看下面

varr = "german"
othervarr = "english"

language = input("Hello everybody. This is the first Version of 'Ismypasswordsafe' ! If you want to enter in german, type german below, if you want to continue in english, type english below")

if language == varr:
    print("Du hast dich fuer Deutsch entschieden !")
if language == othervarr:
    print("Alright you choosed English")

当然要注意的另一点是,缩进在python中非常重要,它决定了代码的执行顺序

您最初的错误“continue is not properly set in loop”是因为continue与while一致

应该是

while input() == varr:
    continue;

现在python知道continue在while循环中

缩进您的代码,您想保存到一个变量的输入。一旦你选择了语言,你想打印两件事中的一件,如果A或B

varr = "german"
othervarr = "english"

print("Hello everybody. This is the first Version of 'Ismypasswordsafe' ! If you want to enter in german, type german below, if you want to continue in english, type english below")
lang = input()

while not (lang == "english" or lang == "german"):
  print("You must enter 'english' or 'german'")
  lang = input()

if lang == "english":
  print("Alright you choosed English")
else:
  print("Du hast dich fuer Deutsch entschieden !")

编辑-根据要循环的注释进行更新,直到选择两种语言之一

While是一个循环,将循环,而条件为真。所以在英语中:虽然lang不是英语,也不是德语,但是循环要求更多的输入

希望这有道理

  1. 始终将input()分配给变量
  2. 始终缩进代码
  3. 根据你的问题,while和if/else是完全不同的东西。前者是一个循环,即它帮助反复执行一组特定的操作,而if/else是一个条件语句,即“if”条件满足,则执行这一部分,“else”另一部分

您可能需要阅读文档以了解更多信息

Python Documentation

相关问题 更多 >