因此,这里的目标是结束我的while loop
,或者如果用户的银行金额达到0 (zero)
,或者如果用户输入一个0 (zero)
的下注金额来终止脚本,那么就结束我的脚本。问题是我不允许使用break
语句,尽管程序可以完美地使用exit()
,但我也不能使用它,因为我们还没有通过书“到达那里”(讲师希望我们使用我们在书中学习的内容,而不是我们已经知道的内容)。
我真的被难住了。部分原因是因为我在try/except语句中遇到了很多麻烦,所以可能我只是做错了什么,或者可能我需要尝试一个不同的循环。也许你们能帮忙?
我要把我的密码贴在下面。就我而言,一切都很好,但我不能使用exit()
或break
,所以我需要一些关于另一种面向python基础的方法的建议。。。
那么我可以使用try/except吗?如果是,怎么做?
我需要程序继续循环,除非银行到达0 (zero)
或用户输入等于0 (zero)
,这就是我选择while loop
的原因。我需要使用不同的循环方法吗?
我将非常感谢您的帮助,并提前向大家表示感谢
import random
def rollDice(cnt):
die1 = random.randint(1,6)
die2 = random.randint(1,6)
x = int(die1 + die2)
print('Roll #', cnt, 'was', x)
return x
def total_bank(bank):
bet = 0
while bet <= 0 or bet > min([500,bank]):
print(f'You have ${bank} in your bank.')
get_bet = input('Enter your bet (or 0 to quit): ')
if get_bet == '0':
print('Thanks for playing!')
exit()
bet = int(get_bet)
return bank,bet
def get_guess():
guess = 0
while (guess < 2 or guess > 12):
try:
guess = int(input('Choose a number between 2 and 12: '))
except ValueError:
guess = 0
return guess
bank = 500
guess = get_guess
rcnt = 1
while rcnt < 4:
rcnt = 0
bank,bet = total_bank(bank)
guess = get_guess()
if guess == rollDice(rcnt+1):
bank += bet * 2
elif guess == rollDice(rcnt+2):
bank += bet * .5
elif guess == rollDice(rcnt+3):
bank = bank
else:
bank = bank - bet
if bank == 0:
print(f'You have ${bank} in your bank.')
print('Thanks for playing!')
exit()
您当然可以使用异常退出循环;只需在
while
循环内引发异常,并在循环外捕获它:但更简单的是从循环内部返回:
我对try和except函数不是非常熟悉,但是使用try块,您可能会引发错误并像那样结束程序
相关问题 更多 >
编程相关推荐