如何使代码循环?

2024-05-23 19:29:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我想这个老虎机游戏代码循环,这样我就可以发挥它没有打开和关闭。我是个初学者,所以我可能会遗漏一些东西。我已经试着让它工作了大约一个小时了,我也试过很多解决办法,但都不起作用

import random
global Cash
global CashLose
global CashWin



Cash = 50
CashLose = 15
CashWin = 20

def SlotMachine ():
    global Cash
    global CashLose
    global RandomNumber
    global UserNumber  

spin = raw_input (" Press y to spin a slot ")
RandomNumber = random.randrange(1, 7, 1)
if spin == "y":
        Cash = Cash - CashLose
        UserNumber = raw_input (" pick a number 1-7 ")
        print " SPINNING... "
if RandomNumber == UserNumber:
        print " You WIn! 20 Dollars Credited "
        Cash = Cash + CashWin
        print "Cash Ammount" +str(Cash)

else:
        print " you lost money, no win! "
        print " please spin again! "
        print "Cash Ammount" +str(Cash)

Tags: 游戏inputrawifrandomcashglobalprint
3条回答

给出一个线索,把它放在适当的地方

while True:

    spin = raw_input(" Press y to spin a slot or n to exit")
    if spin == "n":
        break

你的代码真的,真的很不和谐。在python中,在为变量赋值之前不需要声明变量。你知道吗

做你想做的事的好方法是:

import random

Cash = 50
CashLose = 15
CashWin = 20

while True:
    spin = raw_input (" Press y to spin a slot ")
    RandomNumber = random.randrange(1, 7, 1)
    if spin in ['y', 'Y']:
        Cash = Cash - CashLose
        UserNumber = raw_input(" pick a number 1-7 ")
        print " SPINNING... "
        if RandomNumber == UserNumber:
            print " You WIn! 20 Dollars Credited "
            Cash = Cash + CashWin
            print "Cash Ammount", Cash
        else:
            print " you lost money, no win! "
            print " please spin again! "
            print "Cash Ammount", Cash

也可以考虑阅读python教程和PEP8

使用itzmeontv建议,可以使代码循环如下:

import random

Cash = 50
CashLose = 15
CashWin = 20

while True:

    spin = raw_input(" Press y to spin a slot or n to exit ")
    if spin == "n":
        break

    RandomNumber = random.randrange(1, 7, 1)    

    Cash = Cash - CashLose
    UserNumber = raw_input (" pick a number 1-7 ")
    print " SPINNING... "

    if RandomNumber == UserNumber:
            print " You WIn! 20 Dollars Credited "
            Cash = Cash + CashWin
            print "Cash Ammount" +str(Cash)

    else:
            print " you lost money, no win! "
            print " please spin again! "
            print "Cash Ammount " +str(Cash)    

相关问题 更多 >