理由はわかりませんが、ifステートメントの場合はメッセージが正しく出力されません。プログラムを実行するたびに、elseステートメントのみが実行され、残りのifステートメントは実行されません。
import random
import sys
def main():
while True:
aimove = random.randint(1, 3)
print("|//////////////|")
print("| 1 - Rock |")
print("| 2 - Paper |")
print("| 3 - Scissors |")
print("|//////////////|")
usermove = input("Choose your move")
# decides who wins or loses
if aimove == "1" and usermove == "2":
print("you won!")
elif aimove == "1" and usermove == "1":
print("you tied")
elif aimove == "1" and usermove == "3":
print("you lost")
elif aimove == "2" and usermove == "3":
print("you won!")
elif aimove == "2" and usermove == "2":
print("you tied")
elif aimove == "2" and usermove == "1":
print("you lost")
elif aimove == "3" and usermove == "1":
print("you won!")
elif aimove == "3" and usermove == "3":
print("you tied")
elif aimove == "3" and usermove == "1":
print("you lost")
else:
sys.exit()
# Print messages of match
print("User aimove: " + str(usermove))
print("Opponent aimove: " + str(aimove))
main()
random.randint
文字列ではなく整数を返します。したがって、stringをintと比較すると、同じになることはありません。
Russ Jがコメントで言ったように、すべての数字の周りの引用符を削除するか、それをに変換することができます str()
import random
import sys
def main():
while True:
aimove = str(random.randint(1, 3))
print("|//////////////|")
print("| 1 - Rock |")
print("| 2 - Paper |")
print("| 3 - Scissors |")
print("|//////////////|")
usermove = input("Choose your move")
# decides who wins or loses
if aimove == "1" and usermove == "2":
print("you won!")
elif aimove == "1" and usermove == "1":
print("you tied")
elif aimove == "1" and usermove == "3":
print("you lost")
elif aimove == "2" and usermove == "3":
print("you won!")
elif aimove == "2" and usermove == "2":
print("you tied")
elif aimove == "2" and usermove == "1":
print("you lost")
elif aimove == "3" and usermove == "1":
print("you won!")
elif aimove == "3" and usermove == "3":
print("you tied")
elif aimove == "3" and usermove == "1":
print("you lost")
else:
sys.exit()
# Print messages of match
print("User aimove: " + str(usermove))
print("Opponent aimove: " + str(aimove))
main()
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加