软工博客25
python作业:
def calculate_expression(expression, variable_assignments):
variables = {}
for assignment in variable_assignments.split(','):
var, value = assignment.split('=')
variables[var] = float(value)
for var, value in variables.items():
expression = expression.replace(var, str(value))
try:
result = eval(expression)
return result
except Exception as e:
print(f"计算出错: {e}")
return None
expression = input()
variable_assignments = input()
result = calculate_expression(expression, variable_assignments)
if result is not None:
print(int(result) if result.is_integer() else result)
from pypinyin import pinyin, Style
定义菜单结构
menu = {
"水果": {
"苹果": {"红富士": "甜脆可口", "蛇果": "色泽鲜艳"},
"香蕉": {"芭蕉": "口感软糯", "皇帝蕉": "香甜细腻"}
},
"蔬菜": {
"白菜": {"娃娃菜": "清甜鲜嫩", "大白菜": "营养丰富"},
"萝卜": {"胡萝卜": "富含维生素", "白萝卜": "清热去火"}
}
}
def get_pinyin(text):
"""将中文转换为拼音"""
return ''.join([item[0] for item in pinyin(text, style=Style.NORMAL)])
def display_menu(menu_level, level=0):
"""显示菜单"""
indent = " " * level
for key in menu_level:
print(f"{indent}{key}")
if isinstance(menu_level[key], dict):
display_menu(menu_level[key], level + 1)
def navigate_menu(menu_level):
"""导航菜单"""
while True:
display_menu(menu_level)
choice = input("请输入选项(输入 '返回' 回到上一级,输入 '退出' 结束程序):").strip()
if choice == "退出":
break
elif choice == "返回":
return
elif choice in menu_level:
if isinstance(menu_level[choice], dict):
navigate_menu(menu_level[choice])
else:
print(f"{choice}: {menu_level[choice]}")
else:
# 尝试使用拼音匹配
pinyin_choice = get_pinyin(choice)
for key in menu_level:
if get_pinyin(key) == pinyin_choice:
if isinstance(menu_level[key], dict):
navigate_menu(menu_level[key])
else:
print(f"{key}: {menu_level[key]}")
break
else:
print("无效的选项,请重新输入。")
if name == "main":
navigate_menu(menu)

浙公网安备 33010602011771号