python,输入数字,输出字母

时间:2014-04-28 03:36:05

标签: python

我想将一个数字转换成一个字母,如果用户输入.8,如果用户输入.7,程序将输出一个B,程序打印一个C,我不知道怎么做?< / p>

a = 0.9 
b = 0.8
c = 0.7 
d = 0.6 
f = 0.5 

number = float(raw_input('enter number: '))

i = 0
for i in (a, b ,c ,d, f):
       if number == i:
          print i


   ''' Dictionarys,  not sure how to use them, would it work best for this purpose? '''

   ''' I am getting an error '''
'''{ a: '0.9' b: '0.8'  c: '0.7' d :'0.6' f: '0.5'}'''

'''
  File "<stdin>", line 1
    { a: '0.9' b: '0.8'  c: '0.7' d :'0.6' f: '0.5'}
               ^
SyntaxError: invalid syntax
''' 

3 个答案:

答案 0 :(得分:0)

您想要从数字映射到字母,因此您希望数字在字典中成为键:

number = float(raw_input('enter number: '))

my_map = { 0.9: "a", 0.8:"b", 0.7: "c", 0.6:"d", 0.5:"e"}
print my_map[number]

答案 1 :(得分:0)

仅仅因为某个时候看起来像一个数字/浮点数,并不总是意味着你需要将它转换为一个。在你的情况下,它很容易使用字符串。 (处理无效输入有点简单)

>>> D = {'0.9': 'a', '0.8': 'b', '0.7': 'c', '0.6': 'd', '0.5': 'f'}
>>> number = raw_input('enter number: ')
enter number: 0.8
>>> print D[number]
b

除了。比较浮点数是否相等可能会导致有趣的错误。在你的情况下它会没问题,但你需要小心,如果你计算一个数字,比如一起添加结果

>>> 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 == 0.1 * 9
False

答案 2 :(得分:0)

你可以使用整数作为键,我建议使用字典的Get()方法获取默认值,如果没有这样的键存在

最简单的方式

number = float(raw_input('enter number: '))
d = {0.9:"a",0.8:"b",0.7:"c",0.6:"d",0.5:"f"}
print d.get(number,"other")