当前位置: 首页 > 知识库问答 >
问题:

如何清理此代码并使其循环回选项菜单/开始?

刘博雅
2023-03-14
print("Options:")
print("[P] Print Options")
print("[C] Convert from Celsius")
print("[F] Convert from Fahrenheit")
print("[M] Convert from Miles")
print("[KM] Convert from Kilometers")
print("[In] Convert from Inches")
print("[CM] Convert from Centimeters")
print("[Q] Quit")
Option1 = input("Option: ")

if Option1 == "C":
  Celsius = int(input("Celsius Temperature: "))
  F1 = float(Celsius*9//5 +32)
  print("Fahrenheit: " + str(F1))

elif Option1 == "F":
  Fahrenheit = int(input("Fahrenheit Temperature: "))
  C1 = float((Fahrenheit-32)*5//9)
  print("Celcius: " + str(C1))

elif Option1 == "M":
  Miles = int(input("Miles Distance: "))
  M1 = float((Miles//1.609))
  print("Kilometers: " + str(M1))

elif Option1 == "KM":
  Kilometers = int(input("Kilometers Distance: "))
  KM1 = float((Kilometers*1.609))
  print("Miles: " + str(KM1))

elif Option1 == "In":
  Inches = int(input("Inches: "))
  In = float((Inches*2.54))
  print("Centimeters: " + str(In))

elif Option1 == "CM":
  Centimeters = float(input("Centimeters: "))
  CM1 = float((Centimeters//2.54))
  print("Inches: " + str(CM1))

elif Option1 == "Y":
  Yard = float(input("Yard: "))
  Y1 = float((Yard//1.094))
  print("Meters: " + str(Y1))

elif Option1 == "MT":
  Meters = float(input("Meters: "))
  MT1 = float((Meters*1.094))
  print("Yard: " + str(MT1))

如何清理此代码并使其循环回选项菜单/开始?我正在设计一个简单的计算机程序来帮助你们将公制单位转换成国际单位制,你们在CSA做的任何事情都和其他英联邦国家使用相同的系统。您设计了一个程序,以生成一个要转换的软件:

  1. 温度从华氏到摄氏再回到
  2. 将航海里程转换为KMS并返回,
  3. 转换公里到英里和返回,
  4. 将厘米转换为米并返回
  5. 将码转换为米并返回,
  6. 将英寸转换为厘米并返回您的程序应该使用菜单驱动选项从运行的程序中选择。

共有2个答案

墨承泽
2023-03-14

您好,您可以通过定义一个字典并使用该字典中的值来简化代码

您还可以使用while循环进行连续输入检查,如下面的示例所示,

您可以通过类似的方式在字典中添加更多操作(选项):

print("Options:")
print("[P] Print Options")
print("[C] Convert from Celsius")
print("[F] Convert from Fahrenheit")
print("[M] Convert from Miles")
print("[KM] Convert from Kilometers")
print("[In] Convert from Inches")
print("[CM] Convert from Centimeters")
print("[Q] Quit")
Option1 = ''
while Option1 != 'Q':
    Option1 = input("Option: ")

    operations = {"C":{"message":"Celsius Temperature: ","formula":"float(input_value*9//5 +32)","print":"Fahrenheit: "},
                  "F":{"message":"Fahrenheit Temperature: ","formula":"float((input_value-32)*5//9)","print":"Celcius: "}}

    opt = operations.get(Option1, None)

    if opt:
        input_value = int(input(operations[Option1]['message']))
        out = eval(operations[Option1]['formula'])
        print(operations[Option1]['print'] + str(out))
常俊侠
2023-03-14

可以使用循环

print("Options:")
print("[P] Print Options")
print("[C] Convert from Celsius")
print("[F] Convert from Fahrenheit")
print("[M] Convert from Miles")
print("[KM] Convert from Kilometers")
print("[In] Convert from Inches")
print("[CM] Convert from Centimeters")
print("[Q] Quit")
while True:
    Option1 = input("Option: ")

    if Option1 == "C":
        Celsius = int(input("Celsius Temperature: "))
        F1 = float(Celsius*9//5 +32)
        print("Fahrenheit: " + str(F1))

    elif Option1 == "F":
        Fahrenheit = int(input("Fahrenheit Temperature: "))
        C1 = float((Fahrenheit-32)*5//9)
        print("Celcius: " + str(C1))

    elif Option1 == "M":
        Miles = int(input("Miles Distance: "))
        M1 = float((Miles//1.609))
        print("Kilometers: " + str(M1))

    elif Option1 == "KM":
        Kilometers = int(input("Kilometers Distance: "))
        KM1 = float((Kilometers*1.609))
        print("Miles: " + str(KM1))

    elif Option1 == "In":
        Inches = int(input("Inches: "))
        In = float((Inches*2.54))
        print("Centimeters: " + str(In))

    elif Option1 == "CM":
        Centimeters = float(input("Centimeters: "))
        CM1 = float((Centimeters//2.54))
        print("Inches: " + str(CM1))

    elif Option1 == "Y":
        Yard = float(input("Yard: "))
        Y1 = float((Yard//1.094))
        print("Meters: " + str(Y1))

    elif Option1 == "MT":
        Meters = float(input("Meters: "))
        MT1 = float((Meters*1.094))
        print("Yard: " + str(MT1))

您可以在此处阅读有关while loop的更多信息

 类似资料:
  • 本文向大家介绍jquery中使用循环下拉菜单示例代码,包括了jquery中使用循环下拉菜单示例代码的使用技巧和注意事项,需要的朋友参考一下 这个下拉菜单式可以循环的使用jquery实现,很实用,喜欢的朋友可以参考下

  • 我做了一个应用程序,用MySQL做一些操作,并给用户选择他可以做的操作的可能性,我创建了一个有几个选择的men循环。下面是代码: 扫描仪肯定有问题,但是什么原因造成的?提前谢谢你。

  • 问题内容: 我的代码使用selenium从下拉菜单中选择选项。我有一个看起来像这样的代码: 这样很好。但是下拉菜单中有很多选项,我希望遍历下拉菜单中的所有项目。我准备了以下代码来遍历选项: 这是行不通的。关于如何使这样的循环工作的任何建议?我不了解python中的循环吗? 谢谢。 问题答案: 这应该为您工作。该代码将 查找元素 迭代以从下拉列表中获取所有选项 遍历列表 对于列表中的每个项目,选择当

  • 问题内容: 我想知道是否有可能让jQuery 在下拉框中选择,例如第4个项目? 我希望用户单击一个链接,然后让该框更改其值,就像用户通过单击来选择它一样。 问题答案: 怎么样 对于现代版本的jquery,应使用代替

  • 根据前面关于SO的问题,比如这个问题(selenium-python-drol-down menu选项值),我首先尝试了使用Selenium进行下拉菜单操作的基本方法,即以以下方式使用其方法: 当选择“按值”时,我得到一个错误。因此,我尝试使用So上提供的其他解决方案进行一些故障排除(参见此处:使用selenium python从下拉选项中选择一个值),例如通过元素的XPath找到它,然后单击它。

  • 我需要使用Java创建一个代码。当任何人进入这家饮料店时,它显示了如何选择和订购菜单项目和数量。选择一个菜单后,代码询问“是否要选择另一个菜单项”。如果不想要其他菜单,请输入(-1)。输入(-1)价格后,通过代码计算,余额超过1000/=商店给10%的折扣。余额中必须加上服务费(20%)和增值税(12%)。