我正在艰难地学习Python,在Ex-5的学习练习中,它说。
尝试编写一些变量,将英寸和磅转换为厘米和千克。不要只输入测量值。用Python算出数学。
到目前为止,我已经这样做了:
inches = 1
centimeters = 1
convert = centimeters * 2.54
print inches
print centimeters
print "1 inch is %s centimeters." % convert现在,这将显示1英寸的转换,我如何能够更改它,以便用户将输入的数量英寸或厘米,它将正确地显示转换?
我是否正确地认为,要成功地转换值,我必须手动输入值,还是有一种已经用Python实现的方法?
发布于 2015-03-28 22:55:17
您可以使用字典查找指定的单元:
amount, unit = input('Enter amount with units: ').split()[:2]
converted_data = int(amount) * {'in': 2.54, 'cm': 0.39}[unit] 发布于 2015-03-28 22:57:24
有处理单元的库。品脱是用于Python的一种:
import pint
ureg = pint.UnitRegistry()
my_size = 1.74 * ureg.meter
print(my_size) # 1.74 meter
print(my_size.to(ureg.inch)) # 68.503937007874 inch优点是变量本身就有关于使用哪个单元的信息。即使你分开,这种情况也会继续下去:
import pint
ureg = pint.UnitRegistry()
distance = 40123 * ureg.meter
time = 1.2 * ureg.hour
speed = distance / time
print(speed) # 33435.833333333336 meter / hour
print(speed.to(ureg.inch / ureg.hour)) # 1316371.3910761154 inch / hour发布于 2015-03-28 22:50:51
您可以使用input()方法(包装在float()方法中)将数据转换为整数。
m_inch = float(input("Enter the amount in inches: ")) # will collection user data in inches
m_cm = m_inch*2.54 # converts from inches to cm
# rest of your code注:我已经使用float类型作为输入,但是您可以使用int()作为well....Does包装这个帮助吗?
https://stackoverflow.com/questions/29323521
复制相似问题