【发布时间】:2021-04-06 00:13:38
【问题描述】:
我正在101computin.net 上进行 python 挑战,但我不知道如何使我的代码更短。我曾尝试将这些变量放入list,但我无法检查密度是否在列表范围内,因为无法将对象解释为整数。
#Eureka! - Archimedes and King Hiero's Crown - www.101computing.net/eureka-and-king-hieros-crown/
mass = float(input("Input the mass of the crown in kg"))
volume = float(input("Input the volume of the crown in cubic meter"))
density = mass / volume
aluminum = range(2400, 2700)
bronze = range(8100, 8300)
silver = range(10400, 10600)
lead = range(11200, 11400)
gold = range(17100, 17500)
platinum = range(21000, 21500)
if density in Aluminum:
print('Your crown is aluminum!')
elif density in bronze:
print('B')
elif density in silver:
print('S')
elif density in lead:
print('L')
elif density in gold:
print('G')
elif density in platinum:
print('P')
else:
print('Nope!')
显然,所有if/elif 语句都可以工作,但是有没有更简单的方法来循环遍历范围并根据密度确定输出是哪种金属?
【问题讨论】:
-
您的黄金密度有误。应该在 19300 左右
-
@fdermishin 是的,我知道,我只是从我正在做的挑战中汲取了价值观......
标签: python list for-loop if-statement while-loop