■ 현재-ing/ㅡPython

파이선 if, elif, else, 문자와 변수 출력

with seok 2020. 7. 1. 13:13
조금 잘 못된 코딩

이와 같이 적을 경우
마지막에 else는 인접한
바로위의 if와만 관계가 된다.
올바른 코딩

 


sXYnum=int(input("어떤 과일을 구입할까요?\n1.사과(500원)\n2.오렌지(2000원)"))

if sXYnum==1 :
    AppleN=int(input("사과를 몇개 구입할까요?\n(1개 500원)"))
    SumT=AppleN*500
elif sXYnum==2 :
    print("당신은 여자입니다.")
    AppleN=int(input("오렌지를 몇개 구입할까요?\n(1개 2000원)"))
    SumT=AppleN*2000
else : print("1,2 중에서 입력하세요")

print("총 가격은",SumT,"원입니다.")
else if 는 elif로 줄여서 사용한다.
if와 elif와 else 는 시작 위치가 같아야 함에 유의한다.
파이선은 위치에 따라 명령어가
구속되는 것 같다.

만약 위 코딩에서
print("총 가격은"+SumT+"원입니다.") 
,(콤마)를 +(플러스)로 고칠경우
SumT가 정수형태의 변수라서 +(더하기)
기호와 충돌이 일어나는 것 같다.

아쉽지만 ,(콤마)를 사용할 수 밖에 없다.

문자끼리만 +(더하기) 기호로 합쳐서 출력 가능한 것 같다.

가독성 있게 다듬은 코드

sXYnum=int(input("어떤 과일을 구입할까요?\n\n1.사과(500원)\n2.오렌지(2000원)\n선택과일? : "))

if sXYnum==1 :
    AppleN=int(input("\n사과를 몇개 구입할까요?\n(1개 500원)\n개수 : "))
    SumT=AppleN*500
elif sXYnum==2 :
    AppleN=int(input("\n오렌지를 몇개 구입할까요?\n(1개 2000원)\n개수 : "))
    SumT=AppleN*2000
else : print("\n1,2 중에서 입력하세요.\n")

print("\n가격은",SumT,"원입니다.\n")

print("어떤 과일을 구입할까요?")
print("")
print("")
print("1.사과(500원)")
print("2.오렌지(2000원)")
print("")
sXYnum=int(input("선택과일? : "))

print("")
if sXYnum==1 :
    print("사과를 몇개 구입할까요?")
    print("(1개 500원)")
    print("")
    AppleN=int(input("개수 : "))
    SumT=AppleN*500
elif sXYnum==2 :
    print("오렌지를 몇개 구입할까요?")
    print("(1개 2000원)")
    print("")
    AppleN=int(input("개수 : "))
    SumT=AppleN*2000
else : print("\n1,2 중에서 입력하세요."),print("")

print("")
print("가격은",SumT,"원입니다.")
print("")

 

728x90