2017-03-27 5 views
-3

저녁 스택 오버플로. 파이썬에서 초급자입니다. 그래서 제가 도움을 청하기로 결심 한 것입니다. 특히 "do-while 루프"를 이해하는 데 문제가 있습니다.Do-while in Python 3x

는 [사용자가 숫자를 입력 할 수 있도록하는 프로그램 로직을 설계 : 여기

제가

주어진 곳에 할당된다. 프로그램은 1부터 입력 된 숫자까지 모든 숫자의 합계를 표시합니다. 이 프로그램은 사용자가 '마 - while 루프'하지 않고 내 코드입니다 여기서 0]

를 입력 할 때까지 사용자가 지속적으로 숫자를 입력 할 수 있습니다 :

#Number Sum Conversion Calculator - V 0.0.1 
#Author: Dena, Rene 

print('Welcome to "Sum Conversion Calculator!"') 
print('\nThis script will allow you to insert an integer and will thus display the total \ sum of the number you entered using summation methodology.') 

print("\n Let's begin.") 
name = input("In starting, what is your name?") 

print('\n') 
print("Hello %s. Let's get started." % (name)) 

base_number = 1 
user_number = int(input("Insert your integer:")) 

par = user_number + 1 
n = user_number 
num = 2 

dom = par * n 
answer = dom/num 

print ("\n\nThe sum of the integer you entered is %s." % (answer)) 


print ('\nThank you for using "Number Sum Conversion Calculator". \ 
Please press ENTER to exit.') 

큰 작동합니다. 본질적으로 내가하고 싶은 일을하십시오.

이제 할당에서 ...... 그 상태 :

이 프로그램은 사용자가 그래서 여기에 0

를 입력 할 때까지 사용자가 지속적으로 숫자를 입력 할 수 있습니다 내 코드/시도 :

#Number Sum Conversion Calculator - V 0.0.1 
#Author: Dena, Rene 

print('Welcome to "Sum Conversion Calculator!"') 
print('\nThis script will allow you to insert an integer and will thus display \ 
the total sum of the number you entered using summation methodology.') 

print("\n Let's begin.") 
name = input("In starting, what is your name?") 

print('\n') 
print("Hello %s. Let's get started." % (name)) 

base_number = 1 
user_number = int(input("Insert your integer:")) 

def equation_run(EQ): 
    par = user_number + 1 
    n = user_number 
    num = 2 

    dom = par * n 
    answer = dom/num 

    print ("\n\nThe sum of the integer you entered is %s." % (answer)) 

zero = 0 
while zero < user_number: 
    print (equation_run) 
elif zero == user_number: 
    print ('Thank you for using "Number Sum Conversion Calculator". \ 
Please press ENTER to exit.') 

이 코드를 실행할 때 구문 오류가 발생합니다. elif 부분을 강조 표시합니다. 필자는 시행 착오를 시도했으나 일어날 수 없다. 도와주세요.

모든 의견/제안을 부탁드립니다. 미리 감사드립니다. 좋은 하루 되세요.

+1

그냥'elif'을 제거하는 일을하고 마지막'print' 문을내어 쓰한다. 기다림! 루프에서'equation_run'을 호출하지 않습니다. –

+0

시행 착오는 일반적으로 매우 나쁜 생각이다 – UnholySheep

+5

파이썬에는 "do ... while ..."구문이 없다. –

답변

1

뭔가 :

while True: 
    number = int(input("Enter a number: ")) 
    if number == 0: 
     break 
    print(0.5*number*(number+1)) 

+0

고맙습니다. 도움을 주셔서 감사합니다. – SpaceMonkey

4

elifif이 아니고 while이 아닙니다. 간단한 if로 교체 : 같은

while zero < user_number: 
    ... 
if zero == user_number: 
    ... 
+0

은 OP 문제를 해결하지 못합니다. 'zero