首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python进行单元转换

使用Python进行单元转换
EN

Stack Overflow用户
提问于 2015-03-28 22:47:57
回答 5查看 20.9K关注 0票数 4

我正在艰难地学习Python,在Ex-5的学习练习中,它说。

尝试编写一些变量,将英寸和磅转换为厘米和千克。不要只输入测量值。用Python算出数学。

到目前为止,我已经这样做了:

代码语言:javascript
复制
inches = 1
centimeters = 1
convert = centimeters * 2.54
print inches
print centimeters 
print "1 inch is %s centimeters." % convert

现在,这将显示1英寸的转换,我如何能够更改它,以便用户将输入的数量英寸或厘米,它将正确地显示转换?

我是否正确地认为,要成功地转换值,我必须手动输入值,还是有一种已经用Python实现的方法?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-03-28 22:55:17

您可以使用字典查找指定的单元:

代码语言:javascript
复制
amount, unit = input('Enter amount with units: ').split()[:2]
converted_data = int(amount) * {'in': 2.54, 'cm': 0.39}[unit] 
票数 4
EN

Stack Overflow用户

发布于 2015-03-28 22:57:24

有处理单元的库。品脱是用于Python的一种:

代码语言:javascript
复制
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

优点是变量本身就有关于使用哪个单元的信息。即使你分开,这种情况也会继续下去:

代码语言:javascript
复制
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
票数 6
EN

Stack Overflow用户

发布于 2015-03-28 22:50:51

您可以使用input()方法(包装在float()方法中)将数据转换为整数。

代码语言:javascript
复制
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包装这个帮助吗?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29323521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档