machine_specs = []
for spec in ("Name", "Speed in MHz", "Cores", "Cache in kB", "RAM in GB"):
data_set = []
data_val = input(f"{spec}: ")
if spec == "Speed in MHz":
data_val = float(data_val)
elif spec != "Name":
data_val = int(data_val)
data_set.append(data_val)
machine_specs.append(data_set)
def score_machine(data):
score = (
data[1] / 3 * 25
data[2] / 8 * 25
data[3] / 32 * 25
data[4] / 8 * 25
)
return round(score)
for ms in machine_specs:
print(f"{ms[0]} scores {score_machine(ms)} out of 100")
這應該根據您輸入到程式中的資料給出一個分數,根據您的規格給出一個滿分的分數,盡管它們是一個問題
uj5u.com熱心網友回復:
你data_set = []
在每次迭代中分配,所以像這樣改變。我認為您可能還需要添加另一個回圈以將更多資料放入machine_specs
.
machine_specs = []
data_set = []
for spec in ("Name", "Speed in MHz", "Cores", "Cache in kB", "RAM in GB"):
data_val = input(f"{spec}: ")
if spec == "Speed in MHz":
data_val = float(data_val)
elif spec != "Name":
data_val = int(data_val)
data_set.append(data_val)
machine_specs.append(data_set)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505428.html
下一篇:顫振拆分串列并使用單個值進行計算