我如何使我的代码在石头,纸和剪刀的游戏中减少冗余?

前端之家收集整理的这篇文章主要介绍了我如何使我的代码在石头,纸和剪刀的游戏中减少冗余? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我必须在一个石头,纸和剪刀的游戏上做一个项目,到目前为止,我的代码是该游戏的完整代码,但是我的教授不喜欢它,因为它太多余了.是否有缩短它或使其更简单的方法

import random

while True:
bot = random.choice(["Rock","Paper","Scissors"]).lower()

user_choice = input("Choose between Rock,Paper,and Scissors or -1 to exit: \n ").lower()
if user_choice == bot:
   print("We tied! I chose",bot," and you chose",user_choice)
elif user_choice == "rock":
   if bot == "paper":
      print("You lose! I chose",user_choice,",Paper beats rock!")
   elif bot == "scissors":
      print("You win! I chose",Rock beat scissors!")
elif user_choice == "paper":
   if bot == "rock":
      print("You win! I chose",Paper beats rock!")
   elif bot == "scissors:":
      print("You lose! I chose",Scissors beats paper")
elif user_choice == "scissors":
   if bot == "paper":
      print("You win! I chose",Scissors beats paper")
   elif bot == "rock":
      print("You Lose! I chose",Rock beats scissors")
else:
print("Invalid Entry,you typed:",Please try again: ")

if user_choice == '-1':
print("You selected -1 to exit,Goodbye!")
exit()

还有有时候当我输入纸张作为输入时,我没有得到输出,代码只是循环回到开头,有人知道为什么会这样吗?

例:
在“石头”,“纸”和“剪刀”之间选择,或-1退出

岩石

你赢了!我选择了剪刀,然后您选择了Rock,Rock beat剪刀!

在“石头”,或-1退出

我们绑!我选择了纸,你选择了纸

在“石头”,或-1退出

在“石头”,或-1退出
^无输出

剪刀

你输了!我选择了摇滚,而您选择了剪刀,摇滚击败了剪刀

在“石头”,或-1退出

^没有输出

最佳答案
我建议使用模运算符并列举您的选择. (摇滚(0)=>纸(1)=>剪刀(2))

获胜条件是user_choice-机器人选择%3 == 1.

猜你在找的Python相关文章