【问题标题】:Learning python from scratch从零开始学习python
【发布时间】:2019-09-25 18:39:07
【问题描述】:

我正在从头开始学习 python。我为石头剪刀布游戏编写了一个小代码。其中 1 个输入来自用户,另一个输入来自 PC 使用随机库。我知道我的代码并不完美。但是当我尝试测试我的代码时,我不明白一件事。

这是我的代码。

import random
from time import sleep
print("Let's play the game")

print("For Rock Choose 1")
print("For Paper Choose 2")
print("For Scissors Choose 3")


a = int(input("Enter the number "))

if a == 1:
    print("You Choose Rock")
elif a == 2:
    print("You Choose Paper")
elif a == 3:
    print("You Chosse Scissors")
else:
    print("Invalid Input")

print ("Now taking input from PC")
sleep (3)

b = random.randint(1,3)
if b == 1:
    print("PC has given Rock")
elif b == 2:
    print ("PC has given Paper")
elif b==3:
    print ("PC has given Scissors")

if a == b:
    print ("Match Tie")
elif a ==1 & b == 3:
    print ("You Win")
elif a == 2 & b == 1:
    print ("You Win")
elif a == 3 & b == 2:
    print ("You Win")
else:
    print ("You Loose")

您可以清楚地看到我选择了 2,而 PC 选择了 1。然后我得到的输出是“You Loose”,如果 a == 2 & b == 1 打印(“You Win” )

在测试这段代码(图像的选定代码)时,我发现了一件事,我很困惑。

【问题讨论】:

  • 当您发布文字时,请发布文字,而不是文字照片。这是一个编程网站,不是Photography。我们想阅读和分析文本,而不是写一篇批评其使用颜色和透视的文章。

标签: python


【解决方案1】:

您需要使用and 而不是&

在 Python 中,&bitwise operator,而您想使用 conditional

if a == b:
    print ("Match Tie")
elif a ==1 and b == 3:
    print ("You Win")
elif a == 2 and b == 1:
    print ("You Win")
elif a == 3 and b == 2:
    print ("You Win")
else:
    print ("You Loose")

【讨论】:

    【解决方案2】:

    您正在使用位运算符。 & 与 1 和 2 你有:

    1 = 00001
    2 = 00010
    
    1 & 2 = 0
    

    您应该使用and 而不是&

    【讨论】:

      猜你喜欢
      • 2011-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多