我想要一个while循环,该循环只接受数字,字符串“ value”或字符串“ v”的字符串。我试着做:
num = input('type a number, "value", or "v". ')
while num.lower() not in ["value", "v"] or num.isdigit() != True:
num = input("Can only input numbers or 'value' or 'v'. please try again ")
if num.lower() == "value" or num.lower() == "v":
print("Great you want a value!")
elif num.isdigit() == True:
print(f"Your number is {num}")
这行不通,因为它进入了一个无限循环,要求我再次输入。我相信这是因为while循环想同时满足这两个条件。以其他方式重新输入while条件或建议的任何方法?
您无需两次提示,只需输入“和”而不是“或”即可。尝试这个:
num = ''
while num.lower() not in ["value", "v"] and num.isdigit() != True:
num = input("Can only input numbers or 'value' or 'v'. please try again ")
if num.lower() == "value" or num.lower() == "v":
print("Great you want a value!")
elif num.isdigit() == True:
print(f"Your number is {num}")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句