while-loop를 사용하여 사용자에게 연령, 성별 등을 묻는 설문 조사를하고 있습니다. 사용자가 "cya"또는 "bye"와 같은 특정 문자열을 입력 할 때 프로그램이 루프를 종료하도록하는 방법이 있습니까?
모든 입력 후에 if 문을 만들 수 있다는 것을 알고 있지만이를 수행하는 더 빠르고 쉬운 방법이 있습니까?
내가 달성하고 싶은 것의 예 :
while (user has not entered "cya"):
age = int(input("How old? "))
gender = input("gender? ")
편집 :이 예는 매우 짧았지만 제가 만드는 설문 조사는 매우 길기 때문에 모든 변수를 테스트하는 데 너무 많은 시간이 걸립니다.
설문 조사를 수행하는 가장 쉬운 방법은 모든 질문의 목록을 작성한 다음이를 사용하여 모든 사용자 세부 정보의 사전을 만드는 것입니다.
details = {}
questions = [("gender", "What is your gender?"), ("age", "How old?"), ("name", "What is your name?")]
response = ""
while response not in ("bye", "cya"):
for detail, question in questions:
response = input(question)
if response in ("bye", "cya"):
break
details[detail] = response
print(details)
예:
What is your gender?M
How old?5
What is your name?john
{'gender': 'M', 'age': '5', 'name': 'john'}
What is your gender?m
How old?bye
{'gender': 'm'}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다