2017-02-14 10 views
0

1から6までの数字を生成し、ユーザーに推測させたいと思います。 if input == variable:のようなチェック機能は動作しません。入力が変数と一致するかどうかを確認できません

global count 
count = 0 

def guess(): 
     a = random.randint(1,6) 
     print (a) 
     ffs =input ("whats my nr?") 
     if ffs == (a): 
      print ("Correct") 
      sys.exit() 
     else: 
      global count 
      print ("guess again") 
      count +=1 
      print ("you have attempts remaining") 
    def mainz(): 
     while count < 6: 
      guess() 
    mainz() 
+1

''1' == 1'から何を期待しますか? Pythonは**強く**タイプされています。 – jonrsharpe

+0

だから、str(a)だけで入手できます。脳のおならはありがとう! –

答えて

0

まず、あなたmainz()呼び出しがguess()機能であるが、私はそれだけで書式設定の誤りだと思います。実際のエラーは、入力がintと比較しようとしている文字列を返すという事実にあります。

ffs = int(input("What's my nr? ")) 
0
global count 
count = 0 
def guess(): 
    a = random.randint(1,6) 
    print (a) 
    ffs =input ("whats my nr?") 
    if ffs == str(a): 
     print ("Correct") 
     sys.exit() 
    else: 
     global count 
     print ("guess again") 
     count +=1 
     print ("you have attempts remaining") 
def mainz(): 
    while count < 6: 
     guess() 
mainz() 

必要なSTR(a)すべてのあなたのmainz()機能の

+0

また、int(fs)== aの場合、またはint(input( "whats my nr?"))を使用して入力をintに変換するか、a = str(random.randint(1、6))を使用することもできます。 –

関連する問題