如何使这种构造更简单,比如python中的类或函数?
我有26条这样的语句,我想知道我是否可以让类变得更简单,如何使这种构造更简单,比如python中的类或函数?,python,list,function,class,if-statement,Python,List,Function,Class,If Statement,我有26条这样的语句,我想知道我是否可以让类变得更简单, 函数、列表或其他我找不到的方法???您可以创建一个包含问答的类。还可以在类中添加函数来检查输入是否与答案相同,并相应地返回结果。您可以使用正则表达式从问题文本中获取正确答案的值。您可以创建一个包含问题和答案的类。还可以在类中添加函数来检查输入是否与答案相同,并相应地返回结果。您可以使用正则表达式从问题文本中获取正确答案的值。我建议使用以下内容: print( "1. Engine block \n" "2. Pistons
函数、列表或其他我找不到的方法???您可以创建一个包含问答的类。还可以在类中添加函数来检查输入是否与答案相同,并相应地返回结果。您可以使用正则表达式从问题文本中获取正确答案的值。您可以创建一个包含问题和答案的类。还可以在类中添加函数来检查输入是否与答案相同,并相应地返回结果。您可以使用正则表达式从问题文本中获取正确答案的值。我建议使用以下内容:
print(
"1. Engine block \n"
"2. Pistons \n"
"3. Crankshaft \n"
"4. Camshaft \n"
"5. Cylinder head \n"
"6. Connecting Rod \n"
)
part = int(input("Choose an engine part to show you details about it: "))
if part == 1:
print("Engine block")
elif part == 2:
print("Pistons")
elif part == 3:
print("Crankshaft")
def信息\u关于(部件):
信息=列表(parts.values())
打印(“\n”.join(f”{i+1}.\t\t{name}”表示i,枚举(部分)中的名称)
打印()
尽管如此:
零件=输入(“选择发动机零件以向您显示其详细信息:”)
如果不是part.isnumeric():
打印(“请输入有效数字”)
持续
部分=整数(部分)
如果零件>透镜(信息)或零件<1:
打印(“请输入有效数字”)
持续
打破
打印(信息[第1部分])
零件={
“发动机缸体”:“发动机缸体信息”,
“活塞”:“关于活塞的信息”,
“曲轴”:“曲轴信息”,
“凸轮轴”:“关于凸轮轴的信息”,
“气缸盖”:“关于气缸盖的信息”,
“连杆”:“连杆信息”,
}
关于(零件)的信息
现在检查输入以确保它是有效的-它是数字,并且它介于1和零件数之间。我建议使用如下方式:
print(
"1. Engine block \n"
"2. Pistons \n"
"3. Crankshaft \n"
"4. Camshaft \n"
"5. Cylinder head \n"
"6. Connecting Rod \n"
)
part = int(input("Choose an engine part to show you details about it: "))
if part == 1:
print("Engine block")
elif part == 2:
print("Pistons")
elif part == 3:
print("Crankshaft")
def信息\u关于(部件):
信息=列表(parts.values())
打印(“\n”.join(f”{i+1}.\t\t{name}”表示i,枚举(部分)中的名称)
打印()
尽管如此:
零件=输入(“选择发动机零件以向您显示其详细信息:”)
如果不是part.isnumeric():
打印(“请输入有效数字”)
持续
部分=整数(部分)
如果零件>透镜(信息)或零件<1:
打印(“请输入有效数字”)
持续
打破
打印(信息[第1部分])
零件={
“发动机缸体”:“发动机缸体信息”,
“活塞”:“关于活塞的信息”,
“曲轴”:“曲轴信息”,
“凸轮轴”:“关于凸轮轴的信息”,
“气缸盖”:“关于气缸盖的信息”,
“连杆”:“连杆信息”,
}
关于(零件)的信息
现在检查输入以确保它是有效的-它是数字的,并且它在1和部分数量之间。创建一个包含所有键的dict,就像这样,并在每次需要索引时使用它,这将很容易维护
def info_about(parts):
info = list(parts.values())
print("\n".join(f"{i+1}.\t\t{name}" for i, name in enumerate(parts)))
print()
while True:
part = input("Choose an engine part to show you details about it: ")
if not part.isnumeric():
print("Please enter a valid number")
continue
part = int(part)
if part > len(info) or part < 1:
print("Please enter a valid number")
continue
break
print(info[part-1])
parts = {
"Engine block": "Info about engine block",
"Pistons": "Info about pistons",
"Crankshaft": "Info about crankshaft",
"Camshaft": "Info about camshaft",
"Cylinder head": "Info about cylinder head",
"Connecting Rod": "Info about connecting rod",
}
info_about(parts)
创建一个包含所有这些键的dict,并在每次需要索引时使用它,这样很容易维护
def info_about(parts):
info = list(parts.values())
print("\n".join(f"{i+1}.\t\t{name}" for i, name in enumerate(parts)))
print()
while True:
part = input("Choose an engine part to show you details about it: ")
if not part.isnumeric():
print("Please enter a valid number")
continue
part = int(part)
if part > len(info) or part < 1:
print("Please enter a valid number")
continue
break
print(info[part-1])
parts = {
"Engine block": "Info about engine block",
"Pistons": "Info about pistons",
"Crankshaft": "Info about crankshaft",
"Camshaft": "Info about camshaft",
"Cylinder head": "Info about cylinder head",
"Connecting Rod": "Info about connecting rod",
}
info_about(parts)
如果你真的想要一个额外的功能
labels = {
1: {'name': 'Engine block', 'detail': 'Engine block detail'},
2: {'name': 'Pistons', 'detail': 'Pistons detail'},
3: {'name': 'PisCrankshafttons', 'detail': 'Crankshaft detail'},
}
for (k, val) in labels.items():
print("%s: %s" % (k, val['name']))
part = int(input("Choose an engine part to show you details about it: "))
print(labels[part]['detail'])
如果你真的想要一个额外的功能
labels = {
1: {'name': 'Engine block', 'detail': 'Engine block detail'},
2: {'name': 'Pistons', 'detail': 'Pistons detail'},
3: {'name': 'PisCrankshafttons', 'detail': 'Crankshaft detail'},
}
for (k, val) in labels.items():
print("%s: %s" % (k, val['name']))
part = int(input("Choose an engine part to show you details about it: "))
print(labels[part]['detail'])
你可以看到这26条语句之间的共同点,并把它放在一个函数上。我想到了,但我想输出每个部分,就像活塞、曲轴和凸轮轴与发动机缸体一样,这会不会破坏它们描述的部分,这不是四个部分的一个描述吗?你可以做一个功能,你传递一个dict,然后像下面的答案一样打印信息。你可以看到这26个语句之间的共同点,然后把它放在一个功能上。我想到了这一点,但我想自己输出每个部分,比如活塞、曲轴和凸轮轴与发动机缸体的共同点,这难道不是抄袭了他们的部分描述吗?这难道不是显示了一个4部分的描述吗?你可以做一个功能,你传递一个口述,然后像下面的答案一样打印信息。我不是投反对票的人,但是如果我输入“test”…你只会得到错误。好的,已经修复了。谢谢:)这太棒了,我想不出任何改进,写得很好,有很多帮助,我想问我如何检查输入,但你明白我的意思:我不是投反对票的人,但是如果我输入“测试”,你就会出错。好的,我已经修正了。谢谢:)这太棒了,我想不出任何改进,写得很好,有很多帮助,我想问我如何检查输入,但你明白我的想法:DExtra函数总是一个好主意,我会玩我的代码并尝试压缩它,很棒的工作额外函数总是一个好主意,我会玩我的代码并尝试压缩它,伟大的工作,值得思考,我会尝试使用我的代码来处理类和函数,这是值得思考的,我会尝试使用我的代码来处理类和函数-