我让我的用户输入骰子应该有的边数。 如果有人键入 0,程序将崩溃。如果他们输入字母或浮点数,则打印请输入整数。如何打印程序,当用户输入 0 时请输入整数?索引错误: 无法从空序列中进行选择。
class Dice():
def __init__(self, numberOfSides):
self.numberOfSides = numberOfSides
def rollDice(self):
Dice.diceSides = list(range(1, self.numberOfSides + 1))
return random.choice(Dice.diceSides)
def startRolling():
while True:
try:
userInput = int(input("Enter the number of sides your dice has: "))
except (ValueError, IndexError):
print("Please enter a whole number.")
continue
else:
break
diceRolled = Dice(numberOfSides=userInput).rollDice()
print("You rolled a {}.".format(diceRolled))
到目前为止,我已经尝试过这个,但它没有奏效:
try:
except (ValueError, IndexError):
print("Please enter a number.")
continue
检查try/except
后面的数字。
def startRolling():
while True:
try:
userInput = int(input("Enter the number of sides your dice has: "))
except ValueError:
print("Please enter a whole number: ")
continue
if userInput != 0:
break
else:
print("Please enter a non-zero number")