2013-05-31 3 views
-6

간단한 텍스트 기반 게임을 만들고있어 오류가 발생했습니다. 내 코드에서 int를 str로 변환해야합니다. 내 코드는 다음과 같습니다.if 문에서이 int를 문자열로 변환하는 방법은 무엇입니까?

tax1 = input("You May Now Tax Your City. Will You? ") 
     if tax1 == "Yes" or tax1 == "yes": 
      tax2 = input("How Much Will You Tax Per Person In Dollars? ") 
      if tax2 > 3: 
       print("You Taxed To High! People Are Moving Out") 
       time.sleep(1.5) 
       population -= (random.randint(2, 4)) 
       print("The Population Is Now " + str(population)) 
       time.sleep(1.5) 
       money += (population * 2) 
       print("From The Rent You Now Have $" + str(money) + " In Total.") 
      if tax2 < 3: 
       print("You Have Placed A Tax That Citizens Are Fine With.") 
       time.sleep(1.5) 
       money += (tax2+(population * 2)) 
       print("From The Rent And Tax You Now Have $" + str(money) + " In Total") 

내 코드에 어떻게 추가합니까?

+3

오류 및 스택 추적을 게시하십시오. 오류가 있다고 우리에게 말하면 단지 도움이되지 않습니다. –

+0

참고로, tax1 == "Yes"또는 tax1 == "yes"'대신'if tax1.lower() == "yes"'를 사용하고 싶을 것입니다. 사용자에게 더 많은 옵션 (대문자와 소문자의 조합). – thegrinner

+0

세금이있는 이유는 도시를 잘 돌봐 줘야하기 때문입니다! –

답변

1

당신은 말할 수 있습니다 :

tax2 = int(input("How Much Will You Tax Per Person In Dollars? ")) 

당신이 입력이 소수가 포함되지 않습니다 확신합니다. 확실하지 않은, 그리고 진수 값을 유지하려면, 당신은 사용할 수 있습니다

taxf = round(float(input("How Much Will You Tax Per Person In Dollars? "))) 
tax2 = int(taxf) 
0

사용

if int(tax2) > 3: 

때문에 input 반환 당신에게 문자열, 당신은 그것에서 int를 분석해야하므로.

플레이어가이 아닌 을 입력하면 게임이 중단됩니다. (파이썬 3 반대)

그리고 당신이 파이썬 2를 사용하는 경우

후자로 input_raw 대신 input로 가야 또한 파이썬 코드와 같은 문자열을 주어진 평가하고이를 원하지 않는다.

+2

'input_raw'가 아니라 ['raw_input()'] (http://docs.python.org/2/library/functions.html#raw_input)입니다. 대신에 그 이유를 포함시켜야 할 수도 있습니다 (즉,'input()'은 사용자가 제공 한 Python을 평가할 것입니다). – thegrinner

+0

@thegrinner oh, 고마워. – kirelagin

0

input()으로,

tax2 = float(input("How Much Will You Tax Per Person In Dollars? ")) 

또는 사용 정수를하지만, 안전을 재생하는 것은 문자열를 (반환 Python 3에서) 수학적 표현에 분명히 사용할 수 없습니다 (시도한 것처럼).

내장 된 int() 기능을 사용하십시오. 객체를 정수로 변환합니다 (가능한 경우 그렇지 않으면 ValueError이됩니다). 파이썬 2.x를 사용하는 경우가 eval(raw_input(prompt))에 해당합니다 (워드 프로세서와 같이) 때문에, input()를 사용하는 경우

tax2 = int(input("How Much Will You Tax Per Person In Dollars? ")) 
# tax2 is now 3 (for example) instead of '3'. 

그러나, int()가 필요하지 않습니다. 그러나 문자열을 입력하려면 "this"과 같이 입력해야합니다.

관련 문제