代码之家  ›  专栏  ›  技术社区  ›  Gacut

从循环返回菜单

  •  1
  • Gacut  · 技术社区  · 7 年前

    我对掷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()
    

    我知道,有很多这样的程序,写得更好,但这只是我试图从书中学习材料。只是个没用的蟒蛇问题,因为我用这个把头撞在墙上了。

    提前谢谢!

    1 回复  |  直到 7 年前
        1
  •  0
  •   Gacut    7 年前

    好吧,好像没人想帮我,所以我自己帮。 我刚刚创建了函数title()并用以下内容替换“break”:

    if k2 == 'b':
        title()