2016-06-06 1 views
0

매우 프로그래밍에 익숙하므로 내 무지를 용서합니다. 자이 썬에서 입력 (이름)을 취하고 각 문자에 값 (1-26)을 할당 한 다음 합계하여 값을 인쇄하는 함수를 작성하려고합니다. 지금까지 내가 가진 :파이썬/자이 썬에서 단어 입력의 숫자 출력 합계가

def enterName(): 
    input = raw_input('Enter your name: ') 
    input = input.lower() 
    output = [] 
    for character in input: 
     number = ord(character) - 96 
     output.append(number) 
    print output 

이것은 개별 값의 목록을 생성합니다,하지만 난 그들을 함께 추가하는 방법을 알아낼 수 없습니다. 모든 팁은 크게 감사하겠습니다. 많은 감사합니다!

+0

있습니까? 당신은'output = 0''output + = number'를 할 수 있습니다. –

답변

0

print output에서 print sum(output)으로 코드를 변경하십시오. 목록 만 인쇄하고 있습니다. List는 합계를 찾는 빌드 옵션을 제공합니다.

여기에는 파이썬 방법의 대체 솔루션이 있습니다.

In [1]: sum([ord(i.lower()) - 96 for i in raw_input('Enter your name: ')]) 
Enter your name: Rahul 
Out[1]: 60 

공백을 상기 용액을 갖는 이름 문제 그래서 join split과 함께 공간을 제거하게하면.

In [2]: sum([ord(i.lower()) - 96 for i in ''.join(raw_input('Enter your name: ').split())]) 
Enter your name: Rahul K P 
Out[2]: 87 
0

당신은 간단한 정수 변수를 사용하고 증가시킬 수있다 : 당신이 목록을 사용하는 이유는

output = 0 
for character in name: 
    number = ord(character) - 96 
    output += number 
print output 
관련 문제