2016-10-03 4 views
-1

for 루프의 마지막 번호 (특정 번호를 초과하는 경우)를 사용하여 while 루프에 배치하는 프로그램을 작성해야합니다. 나는 끝내지 않은 코드를 남겼다.How to get While 루프와 While 루프 사이의 통신

t=0 
num=int(input("How many presents do you want to buy?: ")) 

for i in range(num): 
    t=t+int(input("Please enter the price of a present") 



while t>'200': 
     print("Limit Exceeded.") 
     print("You need to get rid of the " #price from the previous loop 
+0

괄호 안의 괄호가 너무 많아 int를 문자열과 비교할 수 없습니다.'t> 200'은't> '200'보다 낫습니다. 나는 당신이이 코드로 무엇을 성취하려고하는지 이해하지 못하기 때문에 더 이상 당신을 도울 수 없습니다. – Efferalgan

답변

0

U는 목록을 사용해야합니다.

if t > '200' 

t는 'INT'유형이고 문자열과 비교됩니다

t = 0 
num=int(input("How many presents do you want to buy?: ")) 
prices = [] 
for i in range(num): 
    prices.append(int(input("Please enter the price of a present"))) 
    t += prices[-1] 
    while t > 200: 
     print("Limit Exceeded.") 
     print("You need to get rid of the: {}".format(prices[-1])) 
     t -= prices.pop() 

및 당신은 잘못 비교된다. 수정하십시오.

희망이 도움이됩니다.

+0

그런 식으로 while 루프는 두 번 이상 반복되지 않습니다. 'if'로 대체하고 즉시 제거를 계속하거나'for'의 외부에 놓고 모든 가격이 추가되면 제거를 수행 할 수 있습니다. – Efferalgan

+0

글쎄, 만약 누군가가 가격을 묻는 질문에 201을 입력하면,이 프로그램은 끝이없는 반복문이 될 것입니다. 나는 그가 무엇을하고 싶은지 정확히 모르겠다. – Acepcs

+0

나는 그가 파이썬으로 코드 작성을 배우고 있다고 생각한다. 그는 향상시킬거야. –