2017-04-11 47 views
1

我正在使用cs50中的python3的公制系统转换器,但我遇到了一些麻烦。基本上,我希望用户输入一个数字(值),然后他会选择测量的前缀(例如:kilo,milli,micro等),并且当这个人这样做时,它会将该值乘以或除以数字将其转换为请求的测量单位。例如,如果他们想将厘米转换为公里,我希望用户输入例如200厘米,然后用功能将其除以1000得到0.002公里并将其打印到用户。但我不知道如何去做这件事。任何帮助,将不胜感激。如何乘以公制系统计算器的用户给出的输入

回答

0

我不想做你的功课,但是这应该给你一个最初的想法:

factor = {'km': 3, 
      'm': 0, 
      'dm': -1, 
      'cm': -2, 
      'mm': -3} # dictionary with powers, e.g. 1 km = 10**3 m 
# For your example of 200 cm = 0.002 km, you type... 
number = float(input('numerical value: ')) # 200 
unit = input('unit: ') # cm 
target_unit = input('target unit: ') # km 

print(number * 10**factor[unit]/10**factor[target_unit], target_unit)