-2

このコードは不完全です
入力

人間のプレーヤーは、勝利に必要なポイント数を入力します。ゲームのプレイ中に、人間のプレイヤーは、キーボードを使用してじゃんけんをするか、じゃんけんをするかを選択します。人間のプレイヤーは、いつでも 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'
コードを短く効率的にするにはどうすればよいでしょうか。このプログラムの関数を定義し、組み込みメソッドを使用する方法を教えてください。

4

1 に答える 1

0

いいえ、問題は意味のない入力を入力したことです。点数を求められ、あなたは文字を入力しました。

このようなユーザー エラーを適切に処理するようにしたい場合は、そのように依頼してください。

于 2013-10-26T22:18:35.227 に答える