【发布时间】:2018-12-28 00:52:57
【问题描述】:
我的程序需要来自用户的整数,所以我试图创建一个循环,如果他们输入一个非整数就会发生并且直到他们输入一个整数才会结束。我试过了:
PlayerCount = input("How many players?")
while PlayerCount != int:
try:
PlayerCount = int(PlayerCount)
except ValueError:
print("Please enter a number between 3 and 5")
PlayerCount = input("How many players?")
但是,当输入有效输入时,循环不会继续,或者结束并允许程序的其余部分运行。我只是在 IDLE 中看到一个换行符和一个闪烁的光标。我还需要做些什么来正确结束while循环吗?我预计一旦try 块成功,循环会自动结束。
【问题讨论】:
-
试试
not isinstance(PlayerCount, int)而不是PlayerCount != int -
@ic3b3rg 那将是 un-pythonic 和 hack。
-
其他变体:改用
while True:,并在PlayerCount = int(PlayerCount)之后直接放置break。
标签: python python-3.x types