1

私はPythonを初めて使用し、単純なブラックジャックカードカウンティングアプリを作成しました。アプリが実行され、ユーザー入力が終了した後、ユーザー入力の要求とカウントアウトの出力を続行したいと考えています。やり直しじゃなくて続けてほしい。ソースコードを含めました。みんなありがとう。

count = 0

var = int(raw_input("Enter the value of the card: "))

if var == 1 :
      print count + 1
elif var == 2 :
      print count + 1
elif var == 3 :
      print count + 1
elif var == 4 :
      print count + 1
elif var == 5 :
      print count + 1
elif var == 6 :
      print count + 1
elif var == 7 :
      print count + 0
elif var == 8 :
      print count + 0 
elif var == 9 :
      print count + 0 
elif var == 10 :
      print count - 1 
elif var == 11 :
      print count - 1
4

1 に答える 1

1

ユーザーが入力の提供を停止するまでプログラムを実行するには、おそらくコードをループに入れる必要があります。ループするwhile必要がある期間が事前にわからない場合は、通常、ループが最適です。

count = 0
while True: # runs forever
    var = int(raw_input("Enter the value of the card: "))

    # if/elif block goes here

ただし、これを行うと、コードに論理エラーがあることがわかります。count + 1現在、毎回if/elifブロックの1つで印刷または同様のものを使用しています。ただし、これはの値を変更するのではなくcount、新しい値を直接出力するだけです。あなたがやりたいと思うcountのは、if / elseブロックで直接変更するようにコードを変更してから、別のステップで書き出すことです。次のように、<またはを使用して条件のいくつかを組み合わせることもできます。>

    if var < 7:
        count += 1
    elif var > 9:
        count -= 1

    print count

オプションで、入力した値が適切であることを確認するためにエラーチェックを追加することもできます(たとえば、1〜11)が、わかりやすくするためにここでは省略しました。

于 2012-12-15T19:46:03.397 に答える