2014-10-19 6 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 개 알파벳의 문자와 대한 문자 번호를 출력하고 있습니다 i를 지나친 문자의 값을 버립니다.

+0

수학적으로 (%) 연산자를 사용하여 이것을 수행 할 수 있어야합니다. I.E. '10 % 9 == 1'. – aruisdante

답변

0

각 글자의 값은 간략하게 (ord(letter) - 97)%9 + 1으로 기록 할 수 있습니다. 전체 코드는 다음과 같습니다 :

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

그것은 무리를 도왔습니다, 나는 그것에 대해 너무 열심히 생각하고있었습니다. 감사! – eskoka

관련 문제