inflearn logo
강의

Course

Instructor

Python Basics to Practice Part 1

Loop (Practice-7)

"끝"을 입력하면 에러가 발생하여 질문드립니다.

392

sinyoung408

1 asked

0

cnt = 0     # 상품 개수
sum = 0 # 상품 가격 합친 것
price = ""
print("상품금액 입력을 종료하고자 한다면 \"\"을 입력해주세요.")
while True:
price = input("상품 금액을 입력하세요. , 음수제외. : ")
if int(price) > 0:
sum += int(price)
print("현재 총 합산된 금액은 %d 입니다." %sum)
cnt += 1
elif int(price) < 0:
print("음수는 해당되지 않습니다. 다시 입력해주세요.")
continue
elif price == "":
print("입력을 종료합니다.")
print("총 물건의 개수는", cnt, "이고, 합산 금액은 %d입니다." %sum)
break-
 
더불어 %d %d 를 사용하였을 때 뒤에 %cnt %sum 을 이어 사용하였더니 에러가 발생하였습니다. 이는 어떻게 해결해야 하나요?

python

Answer 3

0

Vanitas

% 여러개 넣으면 문자열 뒤에 %(변수1, 변수2) 이렇게 순서대로 쓰면 될거에요

0

hmblue994155

% 뒤에 띄어쓰기 해보세요

0

pedada

반복문 속 조건문에서 선순위로 시작되는 if문에서 오류가 나는 것 같습니다.

 

작성하신 것과 같이 

    if int(price) > 0:
가 앞으로 오고
    elif price == "끝":
가 뒤로오게 되면
 
 

우선적으로 int(price) > 0을 먼저 판단하게 됩니다. 이때 숫자를 입력할때는 이상이 없지만 문자열을 입력받게 되면 문자열"끝"인 price를 int값으로 변환시킬 수 없기 때문에 오류가 발생하게 됩니다.

이를 해결하기 위해서 

    if price == "끝":
 
    elif int(price) > 0:
 
로 변경하여 끝이 올때를 먼저 판단하게 해주면 제대로 실행되게 됩니다.
 
 

혹시 이 강사분 c언어 강의는 없나요?

0

52

1

변수가 포함된 문장을 쓸 때의 공백 문제

0

576

1

while.py

0

296

0

강의 질문

0

279

1

파이썬 인터프리터

0

399

0

인터프리터 설치가 안되요

0

261

0

파이썬 인터프리터 설치

0

437

0

ex05 질문이요

0

252

1

5.0은 왜 안되나요?

0

404

1

마지막 숫자 입력하는 문제

0

328

1

조건문 실습2 ex05에서

0

297

1

마지막 예제 그냥 for i in range(5,0,-1) 해도 되지 않나요?

0

268

1

함수의 사용방법이 궁금합니다

0

319

1

파이참 turtle_graphic 실행 오류

0

538

0

파이참에서 pi가 없어요

0

194

0

완강하신분들께 여쭙니다! 본 강의 추천하시나요?

0

469

2

설치하고 cmd에서 파이선이라고 치니까 마이크로소프트 스토어에 다운로드 창이 나와버립니다

1

382

2

10강 변수와 계산(실습-2) ex06 질문

0

288

1

실행이 안돼요.

0

276

1

31분 영상에서 질문있습니다

0

233

1

ex08에서

0

200

1

터틀이 안불러와줘요

0

266

1

질문 드립니다

0

395

5

반복문 피보나치 수열 질문

0

436

2