繁体   English   中英

我如何多次重复代码? 在蟒蛇

[英]How do i repeat the code multiple times? in python

如何让代码重新生成,以便用户只能猜出随机数的答案 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()

循环和中断。

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

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

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

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

你可以使用 for 循环:

for i in range(3):
    #your code 

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

使用循环结构,如下面的答案所述

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)]

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

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.')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM