继续玩这个游戏,直到money_amount中的零个或更少

问题描述

我希望用户继续玩此游戏,直到money_amount中的金额等于或小于0。我该怎么办?

import numpy as np

random_number = np.random.randint(1,6)
money_amount = 10

try:
    user_wager = int(input('Your wager: '))
    if (user_wager < 0) or (user_wager > money_amount):
        print("You don't have that amount of money!")
except(ValueError):
    print('Enter a numerical value!')

try:
    user_guess = int(input('Guess: '))
    if (user_guess < 1) or (user_guess > 5):
        print('Please choose a number between 1 and 5!')
    elif user_guess == random_number:
        money_amount += user_wager
        print(f'Correct! You now have ${money_amount}!')
    else:
        money_amount -= user_wager
        print(f'Wrong! The number was {random_number} and you now have ${money_amount}.')
except(ValueError):
    print('Choose a number!')

解决方法

执行此操作的最佳方法是使用while循环。从Wiki:

虽然像ForLoop这样的循环用于重复代码部分-但与for循环不同,while循环不会运行n次,但是直到不再满足定义的条件为止。如果该条件最初为假,则将完全不执行循环体。

对于您的游戏,您想循环播放“玩家”拥有“超过”“ 0”美元的货币。因此,您的循环将是:

while money_amount > 0:
    # game logic
,

您可以轻松地做到:

while money_amount > 0:
    #game

或这种方式:

while 1:
    #game
    if money_amount <= 0:
        break
,

您可以使用此逻辑

while True:
    if money_amount > 0:
        break

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...