このコードは不完全です
入力
人間のプレーヤーは、勝利に必要なポイント数を入力します。ゲームのプレイ中に、人間のプレイヤーは、キーボードを使用してじゃんけんをするか、じゃんけんをするかを選択します。人間のプレイヤーは、いつでも Control-D シーケンスを押してゲームを終了することもできます。(ゲームを早期に終了しても、人間のプレイヤーが勝っている場合、勝者を決定することはできません。)
出力
プログラムは、実行中のスコアとともに各 roshambo ラウンドの勝者を表示します。ゲームが終了すると、コンピューターは総合優勝者と最終スコアを表示します。
サンプルセッション
じゃんけんへようこそ!
勝つために必要なポイントは?3
(R)ロック、(P)アパー、または(S)ハサミを選択しますか? r 人間: 岩 コンピューター: 紙 コンピューターが勝つ!
スコア: 人間 0 コンピュータ 1 (R)ロック、(P)アパー、または (S)ハサミを選択しますか? r
人間:岩 コンピューター:はさみ 人間が勝つ!
スコア: 人間 1 コンピュータ 1 (R)ロック、(P)アパー、または (S)ハサミを選択しますか? p
人間:紙 コンピューター:紙
print "Welcome to Rock, Paper, Scissors!"
import random
n=1
while n:
x = int(raw_input("How many points are required for a win? "))
y = raw_input("Choose (R)ock, (P)aper, or (s)cissors? ")
z1 = ('Rock', 'Paper', 'Scissors')
z = random.choice(z1)
if y=='r':
print "Human: Rock Computer: " + z
if z=='Rock':
print "A draw"
if z=='Paper':
print "Computer wins!"
if z=='Scissors':
print "Human wins!"
elif y=='p':
print "Human: Paper Computer: " + z
if z=='Paper':
print "A draw"
if z=='Rock':
print "Human wins!"
if z=='Scissors':
print "Computer wins!"
elif y=='s':
print "Human: Scissors Coputer: " + z
if z=='Scissors':
print "A draw"
if z=='Paper':'
print "Human wins!"
if z=='Rock':
print "Computer wins!"
raw_input("Press<enter>")
そして、私の出力は次のようになります。最初のループの後に機能しません。
じゃんけんへようこそ!
勝つために必要なポイントは?3
(R)lock、(P)aper、または (s)cissers を選択しますか? r
人間: ロック コンピュータ: ロック
A ドロー
勝つために必要なポイントは?r
トレースバック (最新の呼び出しは最後):
ファイル "temp5.py"、6 行目、
x = int(raw_input("勝利に必要なポイント数は? "))
ValueError: 基数 10 の int() の無効なリテラル: 'r'
コードを短く効率的にするにはどうすればよいでしょうか。このプログラムの関数を定義し、組み込みメソッドを使用する方法を教えてください。