2014-10-19 158 views
0

到目前为止,我有这个将数字转换为数字范围?

for letter in name: 
    number = ord(letter) - 96 
    if number>=1 and number<=9: 
     output.append(number) 
    else: 
     #change value to corresponding numeric value? 

我应该字母转换成一个名字在命理相应的数字值 http://m.wikihow.com/Calculate-Your-Name-Number-in-Numerology 现在它输出的字母数只有拼音首9个字母和遗漏了我过去任何信件的价值。

+0

在数学上,你应该能够使用模运算符('%')来完成这个。 I.E. '10%9 == 1'。 – aruisdante 2014-10-19 04:01:49

回答

0

每个字母的值可以简写为(ord(letter) - 97)%9 + 1。完整的代码然后是:

for letter in name: 
    number = (ord(letter) - 97)%9 + 1 
    output.append(number) 
+0

这帮了一大堆忙,我在想这个太过分了。谢谢! – eskoka 2014-10-19 04:08:52