-6

ユーザー入力と「if ステートメント」がありますが、この if ステートメントで 2 つの異なる変数をチェックしたいですか? 何を試してもうまくいきません。

if hm == 3 and karma == 8:
    print ("hello whatever")

それは私がすでに試したことですが、間違っています.2つの異なる変数をチェックするために何を使用しますか?

編集:ミニゲームの作成を実験しているだけです...これはこれまでの私のコードです

何が起こるかというと、問題の領域に到達すると、最後のメッセージにスキップするだけです

import time
x = 1
karma = 0
money = 50
ticket1 = 1





name = input("what is your name")
print ("hello", name)

time.sleep(1.5)

check = input("would you like to start your adventure")

if check == "yes" or "Yes" or "yeah":
    print ("good then lets get going")

else:
    print ("bye loser")
    SystemExit

time.sleep(1.5)


print ("you are walking down a road on the way to the shops, when all of a sudden a homeless man asks you for some change")
time.sleep(1)
hm = input("do you 1. give the man all your money, 2. give him some small change, 3. tell him to eff off")

if hm == "1":
    print("you gave the man all your money, karma + 10, you have no money now")
    money = 0
    karma = 10
    x = 1

if hm == "2":
    print ("you give him $10, karma + 2, you have $40 left")
    money = 40
    karma = 2
    x = 1

if hm == "3":
    print (" you tell the man to fuck off, he looks hungry and disappointed, turns out he died later that day. karma - 5, you have $50 left")
    money = 50
    karma = -5
    x = 2

print(".")
print(".")
print(".")
print(".")



time.sleep(1.5)

print ("a bit further down the road you pass a street salesman selling golden tickets,")
time.sleep(1.5)
print("he say's .. they will be worth it later on in the game , honestly..")
time.sleep(1.5)
check1 = input("do you 1. buy a ticket ($5) 2. don't buy a ticket 3. threaten to punch him unless he gives you a ticket")
time.sleep(1)

if hm == 3 and karma == -5:
    money + 5
    print("you beat the shit out of him and take a golden ticket as well as $5, karma -5, you have", money, "dollars left")
    karma = -10
    ticket1 + 1

if hm== 3:
    print ("he cowers under your influence and gives you a ticket you have ", money, "dollars left, karma - 5")
    karma -5
    ticket1 + 1

if hm == 2:
    print ("you walk on withought buying a ticket, no change in karma, you have ", money, " dollars left")

if hm == 1:
    money -10
    ticket1 +1
    print("you buy a golden ticket, you have ", money, " left")

print("well thats all folks")
4

4 に答える 4

2

hmおよびkarma変数に実際に整数が含まれているかどうかを確認する必要があります。おそらく最も簡単な方法は、の前に次の行を追加することifです。

print type(hm)
print type(karma)

if hm == 3 and karma == 8:
    print ("hello whatever")

出力に のようなものが表示される場合は<type 'str'>、文字列を整数に変換するか、単に文字列と比較する必要があります: hm == '3'

于 2013-07-26T07:10:14.373 に答える
2

コロンがないことを除いて、正しいように見えます。

if hm == 3 and karma == 8:
    print ("hello whatever")
于 2013-07-26T07:05:26.630 に答える
1

問題がある場合:

if check == "yes" or "Yes" or "yeah":
    print ("good then lets get going")

else:
    print ("bye loser")
    SystemExit

に課金:

if check.lower() == "yes" or check.lower() == "yeah":
    print ("good then lets get going")
else:
    print ("bye loser")
    sys.exit()

システムの必要性

import sys
于 2013-07-26T07:33:17.900 に答える
-2

エラーとは、"money" と "ticket1" が更新されていないということですか? あなたが持っている

if hm == 3 and karma == -5:
   money + 5
   print("you beat the shit out of him and take a golden ticket as well as $5, karma -5, you have", money, "dollars left")
   karma = -10
   ticket1 + 1

しかし、実際に money と ticket1 の値を更新したいと考えているので、"money + 5" の代わりに、"money += 5" のように 5 を追加します。前者の場合には割り当てはありません (コンソールで行う場合は印刷のみ) が、後者の場合には割り当てがあります。同じことがチケット1にも当てはまり、おそらくカルマにも当てはまりますか? コードは次のようになります。

if hm == 3 and karma == -5:
   money += 5
   print("you beat the shit out of him and take a golden ticket as well as $5, karma -5, you have", money, "dollars left")
   karma = -10
   ticket1 += 1
于 2013-07-26T07:20:24.853 に答える