从循环返回菜单

2024-09-28 05:39:59 发布

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

我有一个简单的程序滚动RPG骰子的问题 它的功能是选择您要掷的骰子的哪种类型,当您按回车键时,它将掷选定的骰子。你知道吗

问题是,我想增加一个功能,允许用户按“b”返回主菜单,我被这个卡住了。 代码如下所示:

import random, sys

#Kości: k2, k3, k4, k5, k6, k7, k8, k10
#k12, k14, k16, k24, k30, k48, k50, k100, k1000



def rzut(kosc):
    while True:

            if kosc == '1':
                print('Rzut kością k3 \nNaciśnij ENTER, aby rzucić \nNaciśnij b, aby wrócić do menu\n\n')
                k2 = input()
                if k2 == '':
                    print(str(random.randint(1, 2)).center(10,''))
                    print('\n\n')
                if k2 == 'b':
                        break

            if kosc == '2':
                print('Rzut kością k3 \nNaciśnij ENTER, aby rzucić \nNaciśnij b, aby wrócić do menu\n\n')
                k3 = input()
                if k3 == '':
                    print(str(random.randint(1, 3)).center(10,''))
                    print('\n\n')
                if k3 == 'b':
                    break


while True:
    print('KościRPG'.center(23, '*'))
    print('MENU'.center(23, '='))
    print('Wybierz kość'.center(23))
    print('Naciśnij "q", aby wyjść'.center(23))
    print(' 1: k2 --- 9: k12'.center(23, ' '))
    print(' 2: k3 --- 10: k14'.center(23, ' '))
    print(' 3: k4 --- 11: k16'.center(23, ' '))
    print(' 4: k5 --- 12: k24'.center(23, ' '))
    print(' 5: k6 --- 13: k30'.center(23, ' '))
    print(' 6: k7 --- 14: k48'.center(23, ' '))
    print(' 7: k8 --- 15: k50'.center(23, ' '))
    print('8: k10 --- 16: k100'.center(26, ' '))
    print(' 17: k1000'.center(20, ' '))

    kosc = rzut(str(input()))
    if kosc == rzut('q'):
        sys.exit()

我知道,有很多这样的程序,写得更好,但这只是我从书中学习材料的尝试。只是一个无关紧要的问题,因为我的头撞到了墙上。你知道吗

提前谢谢!你知道吗


Tags: ciinputifk2random骰子kocenter
1条回答
网友
1楼 · 发布于 2024-09-28 05:39:59

好吧,这里似乎没有人想帮我,所以我自己动手。 我刚刚创建了函数title(),并将“break”替换为:

if k2 == 'b':
    title()

相关问题 更多 >

    热门问题