inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

while이나 for 또는 if 같은 구문 조건에

219

baemongs

작성한 질문수 2

0

숫자가 아니라 특정 문구를 넣으면 동작이 안되나요?

예를 들어 while x == "and" or  x == "ios"

로 x가 and이거나 ios일때까지 하고 싶은데

and를 입력해도 ios를 입력해도 반복되는건 어떻게 해야하나요?

python

답변 5

1

나도코딩

안녕하세요

while 조건을 작성하신 내용처럼 하려면 while 문 이전에 이미 x 라는 변수에 and 나 ios 라는 값이 들어가있어야 합니다. 그리고 그렇게 되면 원하시는대로 and 이거나 ios 일때까지.. 란 조건은 이미 이뤄진 상태이기 때문에 while 문이 의미가 없게 됩니다. 아마 이런 코드를 원하신게 아닌가 싶네요 ^^

while True:
    x = input("입력값 : ")
    if x == "and" or x == "ios":
        break

print("종료")

0

나도코딩

^^ 조금 뒤에 "예외 처리" 부분을 배우시면 더 좋은 방법을 배우게 될거에요 !

0

baemongs

print("Type your height in centimeter :",end=" ")
height = input()

while True:
    if str(0) < height < str(400):
        break
    else:
        height = input("You can type only in number. Type your height in centimeter : ")

이렇게 해결했습니다!!

0

baemongs

선생님~ 퀴즈#6을 코딩하고 있는데요. 좀 더 구체적인 코딩을 하고 있는 중입니다.

사용자 입력으로 키를 입력받는 중에 사용자가 int가 아닌 다른 type의 엉뚱한 입력값을 넣으면 다시 입력받을 수 있는 방법은 없을까요?

if type(height) != int:

 다시 입력하도록 하는 코드

이런 느낌을 만들고 싶은데 잘 모르겠네요..
def std_weight(heightgender):
    if gender == "남자":
        std = pow(int(height)/100,2)*22
    elif gender == "여자":
        std = pow(int(height)/100,2)*21
    return round(std,2)

# print("Type m if you are man, Type f if you are woman :",end=" ")
choice = input("Type m if you are man, Type f if you are woman : ")
while True:
    if choice == "m":
        gender = "남자"
        break
    elif choice == "f":
        gender = "여자"
        break
    else:
        print("You write wrong answer.")
        print("Type \"m\" or \"f\" only.")
        print("Type \"m\" if you are a man, type \"f\" if you are a woman :",end=" ")
        choice = input()

print("Type your height in centimeter :",end=" ")
height = input()

while True:
    if 0 < int(height) < 400:
        break
    else:
        print("You can type only in number. Type your height in centimeter :"end=" ")
        height = input()

print("키 {0}cm {1}의 표준 체중은 {2}kg 입니다.".format(height, gender, std_weight(height, gender)))
.
.
.
여기까지 제가 작성한 코드구요. 잘못된 값을 입력하는 것때문에 동작이 멈추고 싶지는 않습니다.
아래는 height에 int가 아닌 값을 입력하면 나는 오류코드입니다.
너무 어려운걸 도전하고 있나요?ㅠㅠ
.
.
Type m if you are man, Type f if you are woman : f
Type your height in centimeter : qqq
Traceback (most recent call last):
File "c:/Users/인영/Desktop/PythonWorkSpace/helloworld.py", line 27, in <module>
if 0 < int(height) < 400:
ValueError: invalid literal for int() with base 10: 'qqq'

0

baemongs

와우 퀵실버만큼 빠른 답변 감사합니다!

이 방법으로 코딩해볼게요~ 될 것 같습니다. 감사합니다.

quiz 8 오류 문제

0

70

1

str() 작성 위치

0

51

1

아나콘다

0

60

1

윈도우 설치 도와주세요

0

74

1

std_weight함수에서weight만return가능한가요?

0

68

1

오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.

0

34

1

설치해서 시작하는데 문제가 있습니다.

0

69

1

함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?

0

104

1

2장 환경설정 문의

0

74

1

스타크래프트 프로젝트

0

74

1

python 파일명.py 입력시 Python 출력

0

133

1

로드맵 질문있습니다!

0

85

2

오류

0

74

1

질문 있습니다.

0

75

1

블로그에 학습한 내용을 정리해도 괜찮을까요?

0

172

1

#퀴즈 3의 5번 질문

0

72

1

print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다

0

81

1

가변인자의 위치가 중요한가요?

0

79

1

vscode옛날 버전 설치

0

221

1

글자색상이 선생님처럼 안나옵니다

0

186

1

슬프네

0

156

1

quiz 6번 관련 문의입니다.

0

129

1

퀴즈#3에 대해서 이렇게 작성해도 되나요?

0

194

1

피드백 부탁드립니다

0

93

1