从LOOP返回MENU

时间:2018-08-06 21:48:18

标签: python function loops while-loop

我对滚动RPG骰子的简单程序有疑问 它具有选择想要掷骰子的鞭子类型的功能,当您按Enter键时,它会掷骰子。

问题是,我想添加功能,该功能允许用户按“ 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()

我知道,有多个类似的程序,编写得更好,但这只是我尝试从书本中学习材料的尝试。只是一个noobie-Python问题,因为我用这个问题将头撞在墙上。

谢谢!

1 个答案:

答案 0 :(得分:0)

好吧,似乎没有人甚至试图在这里帮助我,所以我帮助自己。 我刚刚制作了函数title()并将“ break”替换为:

if k2 == 'b':
    title()
相关问题