【问题标题】:How do i repeat the code multiple times? in python如何多次重复代码?在蟒蛇
【发布时间】:2021-10-12 12:54:42
【问题描述】:

如何使代码重复,使用户只能猜测随机数的答案 3 次,如何让它停在某个点?谢谢。 这是一个随机数猜谜游戏,我是 python 的初学者,在网上找不到任何可以帮助我的东西(或者可能是我很笨)

import random
print('what difficulty do you want? Type Easy or Hard accordingly')
difficulty = input('')

if difficulty == 'Hard':
    print('your going to have a tough time')
    hardrandomnum = random.randint(1,100)
    def main():
        print('try to guess the number')
        playerguess = float (input(""))
        if playerguess > hardrandomnum: 
            print ("guess a lower number")
        if playerguess < hardrandomnum:
            print("guess a higher number")
        if playerguess == hardrandomnum:
            print("correct") 
        

        restart = 4
        if restart >4:
            main()

        if restart == 4:
            exit()

main()

【问题讨论】:

标签: python


【解决方案1】:

循环和中断。

例如,如果您想运行代码三次,请将其包装在 for 循环中:

for i in range(3):
   [here goes your code]

或者你可以创建一个while循环并中断:

while(True):
    [here goes your code]
    if condition is met:
        break

【讨论】:

  • 感谢您的回复,虽然在我不知道如何将它正确集成到我的代码中之前我就知道 for 循环,谢谢您
【解决方案2】:

你可以使用 for 循环:

for i in range(3):
    #your code 

range()中的数字表示你访问里面的代码的次数 还有while循环,但对于您的用例,for循环应该可以解决问题

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案3】:

使用below answer 提及的循环结构。

while 循环示例

def repeat_user_input(num_tries=3):
    tries = 0
    result = []

    while tries < num_tries:
        tries += 1
        result.append(float(input()))

    return result


print(repeat_user_input())

带有列表理解和range 的示例

def repeat_user_input(num_tries=3):
    return [float(input()) for _ in range(num_tries)]

【讨论】:

    【解决方案4】:

    我相信您正在寻找类似下面的东西?

    import random
    import sys
    guess_counter = 0
    random_number = 0
    easy_hard = input('Chose your difficulty lever by typing "easy" or "hard" ')
    if easy_hard.lower() == 'easy':
        print('Your in luck! You are about to have fun')
        random_number = random.randint(1,10)
    elif easy_hard.lower() == 'hard':
        print('Woow this game is not going to be easy')
        random_number = random.randint(1,100)
    else:
        print('You need to type either easy or hard and nothing else')
        sys.exit()
    while guess_counter < 4:
        user_number = int(input('Guess: ')) 
        if user_number < random_number:
            print('Try higher number')
            guess_counter += 1
        elif user_number > random_number:
            print('Trye lower number')
            guess_counter += 1
        else:
            print('Congrats! You Won')
            break
    else:
        print('Ooops! Looks like you luck run out.')
    

    【讨论】:

      猜你喜欢
      • 2012-11-06
      • 2011-06-11
      • 2021-03-07
      • 2021-09-28
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      相关资源
      最近更新 更多