首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在完成处理后返回主菜单

如何在完成处理后返回主菜单
EN

Stack Overflow用户
提问于 2022-04-28 21:23:14
回答 1查看 42关注 0票数 0
代码语言:javascript
复制
import random
import math

main_menu = ["1 - Display Balance","2 - Withdraw Funds","3 - Deposit Funds","9 - Return Card"]
print("Welcome to Northern Frock")
print(main_menu[0])
print(main_menu[1])
print(main_menu[2])
print(main_menu[3])

atm_input_1 = int(input("Select 1 to display the current balance and the maximum amount available for withdrawal (In £10 increments) \n select 2 to view avalaible withdrawal amounts \n Select 3 to deposit funds \n select 9 to return card!"))
current_balance = random.randint(10,1000)
withdrawal_balance = math.floor(current_balance/10)*10

if atm_input_1 == 1:
    
    print("Current Balance:","£",current_balance)
    
    print("Withdrawal Balance:","£",withdrawal_balance)

elif atm_input_1 == 2:
    sub_menu = ["1 - £10","2 - £20","3 - £40","4 - £60","5 - £80","6 - £100","7 - Other amount","8 - Return to main menu"]
    print("Please select withdrawal amount")
    print(sub_menu[0])
    print(sub_menu[1])
    print(sub_menu[2])
    print(sub_menu[3])
    print(sub_menu[4])
    print(sub_menu[5])
    print(sub_menu[6])
    print(sub_menu[7])

    sub_menu_input = int(input("Please select a number from the options below"))
    if (sub_menu_input == 1 ):
        if (withdrawal_balance >= 10):
            print("£10 successfully withdrawed from account")
            current_balance - 10
            withdrawal_balance - 10
            print("Current Balance:","£",current_balance)
            print("Withdrawal Balance:","£",withdrawal_balance)

        else: print("Sorry you currrently have insufficent funds for a withdrawal")
    elif (sub_menu_input == 2 ):
        if (withdrawal_balance >= 10):
            print("£20 successfully withdrawed from account")
            current_balance - 20
            withdrawal_balance - 20
            print("Current Balance:","£",current_balance)
            print("Withdrawal Balance:","£",withdrawal_balance)

        else: print("Sorry you currrently have insufficent funds for a withdrawal")    

    elif (sub_menu_input == 3 ):
        if (withdrawal_balance >= 10):
            print("£40 successfully withdrawed from account")
            current_balance - 40
            withdrawal_balance - 40
            print("Current Balance:","£",current_balance)
            print("Withdrawal Balance:","£",withdrawal_balance)

        else: print("Sorry you currrently have insufficent funds for a withdrawal")    
    
    elif (sub_menu_input == 4 ):
        if (withdrawal_balance >= 10):
            print("£60 successfully withdrawed from account")
            current_balance - 60
            withdrawal_balance - 60
            print("Current Balance:","£",current_balance)
            print("Withdrawal Balance:","£",withdrawal_balance)

        else: print("Sorry you currrently have insufficent funds for a withdrawal")    

    elif (sub_menu_input == 5 ):
        if (withdrawal_balance >= 10):
            print("£80 successfully withdrawed from account")
            current_balance - 80
            withdrawal_balance - 80
            print("Current Balance:","£",current_balance)
            print("Withdrawal Balance:","£",withdrawal_balance)

        else: print("Sorry you currrently have insufficent funds for a withdrawal")    

    elif (sub_menu_input == 6 ):
        if (withdrawal_balance >= 10):
            print("£100 successfully withdrawed from account")
            current_balance - 100
            withdrawal_balance - 100
            print("Current Balance:","£",current_balance)
            print("Withdrawal Balance:","£",withdrawal_balance)

        else: print("Sorry you currrently have insufficent funds for a withdrawal")

    elif(sub_menu_input == 7):
         withdrawal_request = int(input("Please enter amount you wish to withdraw (In a £10 sequence"))
         if withdrawal_request % 10 == 0:
                if withdrawal_balance >= withdrawal_request:
                    print("£",withdrawal_balance,"successfully withdrawed from account")
                    current_balance - withdrawal_request
                    withdrawal_balance - withdrawal_request
                    print("Current Balance:","£",current_balance)
                    print("Withdrawal Balance:","£",withdrawal_balance)

         else:print("ERROR Invalid withdrawal request")

elif atm_input_1 == 3:
    deposit_request = int(input("Please enter the amount you wish to deposit into your account"))
    current_balance = current_balance + deposit_request
    withdrawal_balance = math.floor((withdrawal_balance + deposit_request)/10)*10
    print("you have successfully deposited £",deposit_request,"into your account")
    print("updated balances:")
    print("Current Balance:","£",current_balance)
    print("Withdrawal Balance:","£",withdrawal_balance)

elif atm_input_1 == 9:
    print("Card returned , thank you for banking with Northern Frock good day")
    quit()

else: print("Error invalid selection try again")

问题(我可以完成所有的要求,但是在完成撤回/保存者/平衡检查之后,我很难让代码返回到主>菜单?)编写一个模拟基本ATM行为的程序。

请按照以下说明行事:

  1. 打印主菜单:

欢迎光临北衣

  1. 1 -显示天平

  1. 2 -提取资金

  1. 3 -存款基金

  1. 9 -返回卡输入一个选项: 6。如果输入“1”,显示当前余额和可提取的最大金额(必须是to 10的倍数),然后返回主菜单。7.如果输入“2”,请打印一个提取金额为: 8. 1-13 10. 2-13 20 10.3-13 40 11. 4-13 60.5-13 80 13. 6

的子菜单。

  • is 100 14.7-其他数额为15.8-返回主菜单输入一个选项: a.如果选择‘1到6’,检查是否允许所请求的取款,打印一条消息以显示资金已被提取,计算新余额并返回主菜单。如果选择‘7’,则提示用户输入一个整数值。检查这个号码是10的倍数,并确认提款是允许的,打印一条消息显示钱已经提取,计算新的余额并返回主菜单。如果选择‘8’,返回主菜单。16.如果输入“3”,则提供另一个菜单,允许用户输入存款金额(不必是£10的倍数)、返回主菜单或返回卡。如果资金已存入,请提供适当的反馈,并更新余额并返回主菜单。17.如果输入‘9’,打印一条再见消息并退出(中断)。

如果输入了另一个值,则打印错误消息并再次打印菜单.

  1. .
EN

回答 1

Stack Overflow用户

发布于 2022-04-29 01:49:16

解决方案是将整个程序放在一个无休止的循环中,如下所示:

代码语言:javascript
复制
import random
import math

while True:
    main_menu = ["1 - Display Balance","2 - Withdraw Funds","3 - Deposit Funds","9 - Return Card"]
    print("Welcome to Northern Frock")
    print(main_menu[0])
    print(main_menu[1])
    print(main_menu[2])
    print(main_menu[3])
    
    atm_input_1 = int(input("Select 1 to display the current balance and the maximum amount available for withdrawal (In £10 increments) \n select 2 to view avalaible withdrawal amounts \n Select 3 to deposit funds \n select 9 to return card!"))
    current_balance = random.randint(10,1000)
    withdrawal_balance = math.floor(current_balance/10)*10
    
    if atm_input_1 == 1:
        
        print("Current Balance:","£",current_balance)
        
        print("Withdrawal Balance:","£",withdrawal_balance)
    
    elif atm_input_1 == 2:
        sub_menu = ["1 - £10","2 - £20","3 - £40","4 - £60","5 - £80","6 - £100","7 - Other amount","8 - Return to main menu"]
        print("Please select withdrawal amount")
        print(sub_menu[0])
        print(sub_menu[1])
        print(sub_menu[2])
        print(sub_menu[3])
        print(sub_menu[4])
        print(sub_menu[5])
        print(sub_menu[6])
        print(sub_menu[7])
    
        sub_menu_input = int(input("Please select a number from the options below"))
        if (sub_menu_input == 1 ):
            if (withdrawal_balance >= 10):
                print("£10 successfully withdrawed from account")
                current_balance - 10
                withdrawal_balance - 10
                print("Current Balance:","£",current_balance)
                print("Withdrawal Balance:","£",withdrawal_balance)
    
            else: print("Sorry you currrently have insufficent funds for a withdrawal")
        elif (sub_menu_input == 2 ):
            if (withdrawal_balance >= 10):
                print("£20 successfully withdrawed from account")
                current_balance - 20
                withdrawal_balance - 20
                print("Current Balance:","£",current_balance)
                print("Withdrawal Balance:","£",withdrawal_balance)
    
            else: print("Sorry you currrently have insufficent funds for a withdrawal")    
    
        elif (sub_menu_input == 3 ):
            if (withdrawal_balance >= 10):
                print("£40 successfully withdrawed from account")
                current_balance - 40
                withdrawal_balance - 40
                print("Current Balance:","£",current_balance)
                print("Withdrawal Balance:","£",withdrawal_balance)
    
            else: print("Sorry you currrently have insufficent funds for a withdrawal")    
        
        elif (sub_menu_input == 4 ):
            if (withdrawal_balance >= 10):
                print("£60 successfully withdrawed from account")
                current_balance - 60
                withdrawal_balance - 60
                print("Current Balance:","£",current_balance)
                print("Withdrawal Balance:","£",withdrawal_balance)
    
            else: print("Sorry you currrently have insufficent funds for a withdrawal")    
    
        elif (sub_menu_input == 5 ):
            if (withdrawal_balance >= 10):
                print("£80 successfully withdrawed from account")
                current_balance - 80
                withdrawal_balance - 80
                print("Current Balance:","£",current_balance)
                print("Withdrawal Balance:","£",withdrawal_balance)
    
            else: print("Sorry you currrently have insufficent funds for a withdrawal")    
    
        elif (sub_menu_input == 6 ):
            if (withdrawal_balance >= 10):
                print("£100 successfully withdrawed from account")
                current_balance - 100
                withdrawal_balance - 100
                print("Current Balance:","£",current_balance)
                print("Withdrawal Balance:","£",withdrawal_balance)
    
            else: print("Sorry you currrently have insufficent funds for a withdrawal")
    
        elif(sub_menu_input == 7):
             withdrawal_request = int(input("Please enter amount you wish to withdraw (In a £10 sequence"))
             if withdrawal_request % 10 == 0:
                    if withdrawal_balance >= withdrawal_request:
                        print("£",withdrawal_balance,"successfully withdrawed from account")
                        current_balance - withdrawal_request
                        withdrawal_balance - withdrawal_request
                        print("Current Balance:","£",current_balance)
                        print("Withdrawal Balance:","£",withdrawal_balance)
    
             else:print("ERROR Invalid withdrawal request")
    
    elif atm_input_1 == 3:
        deposit_request = int(input("Please enter the amount you wish to deposit into your account"))
        current_balance = current_balance + deposit_request
        withdrawal_balance = math.floor((withdrawal_balance + deposit_request)/10)*10
        print("you have successfully deposited £",deposit_request,"into your account")
        print("updated balances:")
        print("Current Balance:","£",current_balance)
        print("Withdrawal Balance:","£",withdrawal_balance)
    
    elif atm_input_1 == 9:
        print("Card returned , thank you for banking with Northern Frock good day")
        quit()
    
    else: print("Error invalid selection try again")

然后,每当您想要停止程序,只需做一个“中断”语句,以退出循环。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72050373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档