如何根据两个菜单选项进行计算?

2024-04-29 04:46:24 发布

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

Instruction

应该有一个图像,但我不确定你是否能看到它

我必须向用户提供一个菜单,以确定哪种风格的卡车,然后与另一个菜单,让他们选择每周或每天的费率。然后我要知道卡车开了多少天/星期,走了多少英里。所有这些信息都必须根据两个菜单选项及其输入进行计算。如果A和1等于。。。。我知道如何使用带有一个变量的if语句,但我不知道如何合并所有这些输入以有效地计算。 请告知。下面是我到目前为止的代码

def main():
    print('Please select from the following rental truck options')
    firstMenu()
    print("Please Tell us how many Days/Weeks you have rented our truck and how many miles were driven")
    milesTime()

def firstMenu():
    menu = input("Please bhoose from the following options(A, B, C, D)and press enter:\n"
                 "A = Class A Truck\n"
                 "B = Class B Truck\n"
                 "C = Class C Truck")
     if menu == str('A'):
         secondMenu()
     elif menu == str('B'):
         secondMenu()
     elif menu == str('C'):
         secondMenu()

    firstMenu()

def secondMenu():
    print('Please enter code for Daily or Weekly Rate')
    print("1 = Daily")
    print("2 = Weekly")
    option2 = input()
    secondMenu()

def milesTime():
    miles = input("Please Enter number of Miles Driven")
    time = input("Please Enter the number of days/weeks the truck was rented")
    milesTime()

def calculate():
    while firstMenu == 'A':

Tags: theinputdef菜单classmenuprintplease
1条回答
网友
1楼 · 发布于 2024-04-29 04:46:24
def main():
    while True:
        menu()
        print('*' * 80)

def menu():
    class_list = ['A', 'B', 'C']
    user_class = input("Please bhoose from the following options(A, B, C, D)and press enter:\n"
                 "A = Class A Truck\n"
                 "B = Class B Truck\n"
                 "C = Class C Truck\n")
    if user_class not in class_list:
        raise ValueError('invalid classification!')
    else:
      user_class = class_list.index(user_class)
    print('Please enter code for Daily or Weekly Rate')
    print("1 = Daily")
    print("2 = Weekly")
    rent_type = input()
    if rent_type not in ['1', '2']:
        raise ValueError('invalid rental type')
    miles_time(user_class, rent_type)

def miles_time(user_class, rent_type):
    data = [
      [19.95, 0.59, 125.68],
      [29.95, 0.79, 188.68],
      [39.95, 0.85, 251.68]
    ]
    miles = int(input("Please Enter number of Miles Driven\n"))
    time = int(input("Please Enter the number of days/weeks the truck was rented\n"))
    user_data = data[user_class]
    user_rental = 0
    if rent_type == '1':
        user_rental = user_data[0] * time + miles * user_data[1]
    else:
        if miles <= time * 200:
            user_rental = user_data[2] * time
        else:
            user_rental = user_data[2] * time + (miles - 200) * user_data[1]
    print(user_rental)


if __name__ == '__main__':
    main()

没有完全测试。但是有两个测试用例通过了

相关问题 更多 >