2016-10-30 5 views
-2

특정 숫자 (예 : "*")를 연속으로 인쇄하는 데 도움이 필요합니다. 예를 들어 :특정 문자 수 인쇄

>>> printingAsteriks(4) 
**** 
>>> printingAsteriks(6) 
****** 
>>> printingAsteriks(0) 

>>> 

내가 쓴 :

def printAsteriks(ast): 
    total="*" 
    asteriks=1 
    while asteriks<=ast: 
     total=total+asteriks 
     asteriks=asteriks+"*" 
    print(ast) 

나는이 잘못 알고하지만 난 정말 여기에서 어디로 모른다.

+1

** 오류 메시지를주의 깊게 읽으십시오. ** 잘못된 종류의 것을 함께 추가하려고한다는 메시지가 나타납니다. 그런 다음 코드를 읽고 필요한 경우 종이에 써넣고 각 줄의 각 이름에 할당 된 값을 메모하십시오 (예 : 'total = total + asteriks'는 '* "="* "+1" 나는 희망한다, 분명히 틀리다). 예를 들어 http://pythontutor.com/이 기능을 시각화 할 수없는 경우 도움이됩니다. 또는, 예를 들어 ''* '* 4 =='**** ''. – jonrsharpe

답변

0

total=total+asteriks이 줄이 잘못되었습니다. 별표에 "*"가 합계 1을 더합니다. 곱셈 기호를 사용해야합니다.

Jonrsharpe가 의견 섹션에서 말한 것을 따르십시오.

0

Jonrsharpe가 '제어'변수가 증가하지 않았다고 말했습니다. 그것은 라인 2와 3을 대칭 이동했기 때문입니다. 실제로 올바른 버전은 total = 1과 asteriks = '*'를 초기화하는 것입니다.

어쨌든 입력 매개 변수를 반환하고 'asteriks'문자열을 반환하지 않는다는 점을 고려하십시오.