私はpythonでrock-paper-scissorゲームを書いていますが、私は解決できないエラーがあります。助けてください。- : 'NoneType'と 'int'のためのサポートされていないオペランドタイプ
import random
p1 = random.randint(0, 2)
def choosing():
p = int(input("Rock: 0; Paper: 1; scissor: 2:"))
if p < 0 or p > 2:
print("\nPlease enter valid value")
choosing()
else:
return int(p)
p2 = choosing()
print ("\n" + str(p1))
if p1 == p2:
print("DRAW!!")
elif p2 - p1 == 1 or p1 - p2 == 2:
print("YOU WON!!")
elif p1 - p2 == 1 or p2 - p1 == 2:
print("YOU LOSE!!")
エラーが
> Traceback (most recent call last):
File "python", line 15, in <module>
TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
とエラー再度choosing()
を呼び出すと、それは返すので、あなたは、その値を返さない無効な値に
7行目の戻り値を逃した –
再帰は入力を求めるのに少し残酷に思える。 – aluriak
私はまた別の問題があります。オンラインインタープリタでコードが実行されていても問題ないですが、Linux端末で実行しているときにエラー './paper.py:2行目:予期しないトークンの近くに構文エラーがあります。 '(' ./paper。 py:line 2: 'p1 = random.randint(0、2)' ' –