Py学习  »  Python

在python中使用For循环重复程序

Nath • 3 年前 • 1563 次点击  

我写了一个小程序来充当某种老虎机。为了在这项任务中获得满分,我需要能够运行程序,用户得到他们的3个数字,并被告知如果他们得到任何匹配。我需要程序能够再次运行,最好是在用户输入字母“y”之后。

import random 
random_num1 = str(random.randint(0,2))
random_num2 = str(random.randint(0,2))
random_num3 = str(random.randint(0,2))
print('Python Slot Machine')

for num in random_num1:
    print(random_num1, random_num2, random_num3)
    if random_num1 == random_num2 == random_num3:
        print('You matched 3!')
    elif random_num1 == random_num2 or random_num1 == random_num3 or 
    random_num2 == random_num3:
        print('You matched 2!')
    else:
        print('You lost')

我让实际的程序工作,我只需要学习如何重复它。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/133311
文章 [ 1 ]  |  最新文章 3 年前
Tim Roberts
Reply   •   1 楼
Tim Roberts    3 年前

你的循环只是在第一个随机数上循环,这绝对不是你想要的。你需要一个“永远”的循环,当用户想要停止时它就会退出。请注意,您需要在该循环中分配数字。还请注意,您不需要转换为字符串。

import random 
print('Python Slot Machine')

while True:
    random_num1 = random.randint(0,2)
    random_num2 = random.randint(0,2)
    random_num3 = random.randint(0,2)

    print(random_num1, random_num2, random_num3)
    if random_num1 == random_num2 == random_num3:
        print('You matched 3!')
    elif random_num1 == random_num2 or random_num1 == random_num3 or random_num2 == random_num3:
        print('You matched 2!')
    else:
        print('You lost')

    if input("Go again?  y/n: ") == "n":
        break