2014-01-06 3 views
1

저는 파이썬에서 파스칼의 삼각형을 만드는 데 관련된 Don Marco의 게시물을보고있었습니다. 코드를 더 잘 이해하고 싶었 기 때문에 코드를 사용하여 시도해 보았고 사용자 입력을 받아 보려고했습니다. 이것은 내가 사용하는 코드입니다 :파스칼의 삼각형에서 raw_input 사용

def triangle(rows): 
    row_ans= raw_input('how many rows would you like') 
    row_ans =int(row_ans) 
    for rownum in range (rows): 
     newValue=1 
     PrintingList = [newValue] 
     for iteration in range (rownum): 
      newValue = newValue * (rownum-iteration) * 1/(iteration + 1) 
      PrintingList.append(int(newValue)) 
     print(PrintingList) 
    print() 
triangle(row_ans) 

그것은 사용자 입력을 요구하지 않았고이 오류가있어 :

Traceback (most recent call last): 
    File "/Users/centralcity/Desktop/Computer Science!/Pascal's triangle", line 13, in 
<module>   
    triangle(row_ans) 
    File "/Users/centralcity/Desktop/Computer Science!/Pascal's triangle", line 3, in  
    triangle  
for rownum in range (rows): 
    TypeError: range() integer end argument expected, got str. 

나도 파이썬 비교적 새로운 해요 명심하시기 바랍니다. 미리 감사드립니다.

답변

1

range()에 잘못된 매개 변수를 전달 중입니다. 또한 rows 매개 변수가 사용되지 않는 것을 알 수

range(row_ans) 

를 함수 선언에서 삭제를 간단히이 같은 함수를 호출 : : 가장 바깥 쪽 for 루프에서 이것을 시도

triangle() 
+0

나는이 오류가 발생했습니다를 트레이스 백 (가장 최근의 마지막 콜) : 파일 "/ Users/centralcity/Desktop/Computer Science!/Pascal 's triangle", 13 행, 삼각형 (row_ans) NameError : 'row_ans'이름이 정의되지 않았습니다. – user3163789

+1

@ user3163789 물론 오류는 매우 분명합니다. 삼각형 (rowan)을 호출하면 변수 row_ans가 아직 존재하지 않습니다. 내 편집 대답을 참조하십시오. –

+1

@ user3163789 위의 방법으로 문제가 해결되면 [수락] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)을 잊지 마세요. 왼쪽의 체크 표시를 클릭하십시오;) –