如题所示
问题:
我的代码:
animals=[]
while True:
inputthing = input().split()
if inputthing :
break
else:
animals.append(inputthing)
for i in range(len(animals)):
name = animals[i][0]
if 't' in animals[i][1]:
amount = float(animals[i][1][:-1])*1000
weight = animals[i][1]
else:
amount = float(animals[i][1][:-2])
weight = animals[i][1]
animals[i] = [name,weight,amount]
animals = sorted(animals,key = lambda animal:animal[2])
for i in range(len(animals)):
animals[i] = [animals[i].name,animals[i].weight]
print(animals)
运行结果:
【当然输入不止图中所示】
没有输入的时候判断方法不正确,可以参考
animals = []
while True:
inputthing = input().split()
if len(inputthing) == 0: # 没有输入的时候
break
else:
animals.append(inputthing)
def getWeight(animal):
w = animal[1]
if 't' in w:
return float(w[:-1])*1000
return float(w[:-2])
animals = sorted(animals, key=getWeight)
print(animals)