仅打印 Python 中的有效输入
Print only a valid input in Python
如何修复以下代码以仅打印有效输入:
x = input("Y/N? ")
while x not in ["Y","N"]:
x = input("Y/N? ")
如果我输入了无效的输入,这个会打印
Y/N? what
Y/N? is
Y/N? Y
我不想打印 what
或 is
等无效输入,而是只想打印 Y
.
您的代码实际上没有打印任何内容。您在终端 window 中看到的所有内容都是您要求用户输入的内容。当您在 python 中调用 input("Message")
时,消息会打印到终端并等待用户输入
input("Please enter Y/N: ")
> [input]: Please enter Y/N: ...
此时,如果您键入“what”,您的 for 循环会检查它是否在您提供的列表中。由于它不在那里,它会再次打印输入消息。在您的情况下,它会在您输入正确的值之前打印消息 3 次。
要看到程序成功,你可以在最后打印一些东西
x = input("Y/N? ")
while x not in ["Y","N"]:
x = input("Please enter Y/N: ")
print("YaY, you finally entered:", x)
将输出:
> [input] Please enter Y/N: what
> [input] Please enter Y/N: is
> [input] Please enter Y/N: Y
> [output] YaY, you finally entered: Y
它不是打印输入,而是用户输入的内容。如果你想要它在单独的行中,请在 ? 之后添加 \n 。在字符串中。
如果你想让它打印值,只有它们是正确的,你可以使用布尔值并不断检查它是否已更新。
bool = False
while not bool:
x = input("Y/N?\n")
if x.lower() == "y" or x.lower() == "n":
bool = True
#do whatever else you want
如何修复以下代码以仅打印有效输入:
x = input("Y/N? ")
while x not in ["Y","N"]:
x = input("Y/N? ")
如果我输入了无效的输入,这个会打印
Y/N? what
Y/N? is
Y/N? Y
我不想打印 what
或 is
等无效输入,而是只想打印 Y
.
您的代码实际上没有打印任何内容。您在终端 window 中看到的所有内容都是您要求用户输入的内容。当您在 python 中调用 input("Message")
时,消息会打印到终端并等待用户输入
input("Please enter Y/N: ")
> [input]: Please enter Y/N: ...
此时,如果您键入“what”,您的 for 循环会检查它是否在您提供的列表中。由于它不在那里,它会再次打印输入消息。在您的情况下,它会在您输入正确的值之前打印消息 3 次。
要看到程序成功,你可以在最后打印一些东西
x = input("Y/N? ")
while x not in ["Y","N"]:
x = input("Please enter Y/N: ")
print("YaY, you finally entered:", x)
将输出:
> [input] Please enter Y/N: what
> [input] Please enter Y/N: is
> [input] Please enter Y/N: Y
> [output] YaY, you finally entered: Y
它不是打印输入,而是用户输入的内容。如果你想要它在单独的行中,请在 ? 之后添加 \n 。在字符串中。 如果你想让它打印值,只有它们是正确的,你可以使用布尔值并不断检查它是否已更新。
bool = False
while not bool:
x = input("Y/N?\n")
if x.lower() == "y" or x.lower() == "n":
bool = True
#do whatever else you want