2011-08-12 2 views
1

어려운 방법을 배우고 파이썬을 배우려고 노력 중이며 몇 가지 문제가 있습니다. 아래는 내가이 % r은 원시 입력을 표시 할 수 없습니다어려운 방법으로 파이썬 배우기 연습 문제 11

print "How old are you?", 
age = raw_input('27') 
print "How tall are you?", 
height = raw_input('5\'8"') 
print "How much do you weigh?", 
weight = raw_input('180lbs') 
print "So, you're %r old, %r tall and %r heavy." %(age, height, weight) 

(PC에서이 작업) geedit를 사용하여 평 파일에 입력 한 것입니다 그리고 그들은에서 ''로 나오는 경향이있다 마지막 줄 내가 뭘 잘못하고 있니?

+0

여기에 나열된 답변 중 하나가 찾고있는 것이면 동의 해 주시겠습니까? –

답변

3

raw_input의 행동을 오해 한 것 같습니다. raw_input('27')은 "27을 인쇄 한 다음 사용자의 입력을 기다리는 중입니다"를 의미합니다. 27은 기본값이 아니며 단지 프롬프트입니다. 아무 것도 입력하지 않고 Enter 키를 누르면 age의 값은 이 아닌 ''이됩니다.

1

이것이 내가보기에 원하는 방식입니다.

1 print "How old are you?", 
    2 
    3 age = raw_input() 
    4 
    5 print "How tall are you?", 
    6 
    7 height = raw_input() 
    8 
    9 print "How much do you weigh?", 
10 
11 weight = raw_input() 
12 
13 print "So, you're %d old, %s tall and %d heavy." %(age, height, weight) 
+0

어쨌든 감사합니다. – Charles

6

raw_input's argument이 프롬프트의 텍스트로 사용됩니다.

당신은 다만 할 수 있습니다

age = raw_input("How old are you? ") 
height = raw_input("How tall are you? ") 
weight = raw_input("How much do you weigh? ") 

print "So, you're %r old, %r tall and %r heavy." % (age, height, weight) 

당신은 다음과 같이 할 수있는 기본 값을 제공하고 싶었다면 : 당신이 당신의 나이를 입력하는 것은 아니다,이 연습에서는

age = raw_input("How old are you? ") 
height = raw_input("How tall are you? ") 
weight = raw_input("How much do you weigh? ") 

age = age if age is not '' else '27' 
height = height if height is not '' else '5\'8"' 
weight = weight if weight is not '' else '180lbs' 

print "So, you're %r old, %r tall and %r heavy." % (age, height, weight) 
+0

또한 문자열에서 변수를 전달할 때는 % 대신 format()을 사용해야합니다. –

+0

문자열 비교를 위해'is'를 사용해서는 안됩니다. – dmedvinsky

0

을, 높이 등을 코드의 괄호 안에 넣습니다. 오히려, 데이빗은 자신의 예에서 수행 한 빈으로 괄호를 떠나 :

age = raw_input() 

을 그럼 당신은 터미널에서 프로그램을 실행할 때 물었을 때 당신은 당신의 나이를 입력합니다. 다른 변수와 동일합니다. 따라서 결국 질문에 대답 할 때 터미널에 입력 한 값을 인쇄합니다.

0

그는 zed shaw의 코드 예와 함께 "구체적으로이 코드를 입력하고 정확히 동일하게"라고 말합니다. raw_input()을 사용할 때 사용자가 정보를 입력하도록 요청하고 있으므로 정보를 추가하지 않았습니다. 프로그램이 실행될 때 "정확하게"입력되면 사용자에게 값을 입력하라는 메시지가 표시되고 입력 된 값이 콘솔에 인쇄됩니다.

관련 문제