2017-10-24 13 views
0

私は2つのサイコロを巻くプログラムを書いています。ロールしたものに応じて、ポイントが割り当てられます。実行中の合計が保持されます。これまでのところ、私はこれを持っています。しかし、私は "intは呼び出し可能ではありません"というエラーに走り続けます。誰かが助けてくれますか? dice()からPythonでスコアを稼いでいる3

import random 
def dice(): 
    a = 1 
    b = 6 
    return random.randint(a,b) 
rollOne = int(dice()) 
rollTwo = int(dice()) 


def greeting(): 
    option = input('Enter Y if you would like to roll the dice: ') 
    if option == 'Y': 
     print('You have rolled a' , rollOne, 'and a' , rollTwo) 
     points = [] 

     if rollOne() == rollTwo(): 

      points.append(10) 

      print('You have a total of %d points' % (sum(points))) 

     if rollOne == 6 or rollTwo ==6: 

      points.append(4) 

      print('You have a total of %d points' % (sum(points))) 

     if (rollOne + rollTwo) == 7: 

      points.append(2) 

      print('You have a total of %d points' % (sum(points))) 

dice() 
greeting() 
+2

もし 'rollOne()== rollTwo():' – DavidG

+0

から括弧を削除すると、6つのペアをメモするだけで10ポイント(同一の場合)、そして両方とも6の場合4ポイントになります。それが意図されているかどうかわからない... –

答えて

2

結果は、あなたがrollOnerollTwoを命名した整数です。

rollOne()のように「呼び出す」ことはできません。

if rollOne() == rollTwo(): 

if rollOne == rollTwo: 
+0

素晴らしい、ありがとう! – Bro

0

問題は、この中でなり(あなたが他のif文で行われている)ラインからブラケットを取り外し、エラーを解決するために

if rollOne() == rollTwo(): 

rolloneとrolltwoは戻り値ではありません。

関連する問題