-6

シンプルなテキスト ベースのゲームを作成していますが、エラーが発生しました。コード内の int を str に変換する必要があります。私のコードは次のようになります。

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")

これを行うには、コードに何を追加しますか?

4

3 に答える 3

0

input()文字列を返します(Python 3の場合)。これは明らかに数式には使用できません(試したように)。

組み込みint()関数を使用します。オブジェクトを整数に変換します (可能であれば、そうでなければ a になりますValueError)。

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

ただし、Python 2.x を使用している場合、(ドキュメントに示されているように) と同等であるため、int()を使用している場合は必要ありません。ただし、文字列を入力する場合は、 のように入力します。input()eval(raw_input(prompt))"this"

于 2013-05-31T12:51:31.703 に答える
0

使用する

if int(tax2) > 3:

input文字列を返すため、そこから int を解析する必要があります。

また、プレーヤーが数字以外を入力すると、ゲームがクラッシュすることに注意してください。

そして、Python 2 (Python 3 とは対照的に) を使用している場合に備えて、後者は与えられた文字列を Python コードとして評価し、 this が必要ないため、input_raw代わりに使用inputする必要があります。

于 2013-05-31T12:42:00.613 に答える