这个循环和另一个循环不一样,而我做的循环和这个几乎一样。我希望它循环,直到我输入一个有效的答案。它第一次问我,如果我弄错了,它会再问我一次,但之后就不再重复了。除非输入有效的输入,否则变量“a”永远不会改变。我做错了什么?编辑:第一次使用这个网站,我想我是不够具体,这里是一些固定的变化完整的代码
selectcharacter = input("Select Your Character:")
while a == 1:
if selectcharacter != 1 and selectcharacter != 2 and selectcharacter != 3:
selectcharacter = input("Select Your Character:")
continue
elif: selectcharacter == 1
a == 2
break
elif: selectcharacter == 2
a == 2
break
elif: selectcharacter == 3
a == 2
break
不确定变量
a
的用途,以及为什么要将其与1
进行比较。我想你需要一个while True
循环,一旦做出有效的响应,就从中退出break
。用户可以提供一个介于1-3之间的数字(最佳情况),在这种情况下,它将成功地转换到下面的int
中,到达break
行并退出while循环。如果用户提供的数字超出该范围,循环将继续要求选择字符。如果用户错误地提供了一个非整数值,它就不能被转换成int
,当尝试转换时,它将产生一个ValueError
来尝试将字符串转换成int。然后循环将进入except
块并通知用户错误和continue
,这意味着它将返回到循环的顶部我不知道为什么在循环体中调用
input
两次;让循环条件完成它的工作如果您不想显式初始化
select_character
,请使用带有显式中断的无限循环,由调用input
后检查的条件来保护相关问题 更多 >
编程相关推荐