繁体   English   中英

我的程序中有一个我无法弄清楚的错误

[英]I have a bug in my program that I cannot figure out

所以,我最近才开始编码并决定制作剪刀石头布游戏; 但是,我的程序有一个错误,如果用户输入“rock”,则正确的代码块不会运行。 相反,它运行一个 else 语句,该语句仅在用户输入“否”时运行。 我尝试使用 while 循环而不是 if else 语句,但它没有什么不同。

import random

q_1 = str(input("Hello, want to play Rock Paper Scissors?:"))

print()
# ^^adds an indent
rpc_list = ["rock", "paper", "scissors"]

comp = random.choice(rpc_list)
# ^^randomly selects r, p, or s

user = str(input("Great, select Rock Paper or Scissors:"))
if q_1 != "yes":
    if q_1 == comp:
        print("Oh No, a Tie!")
    elif q_1 == "rock":
        if comp == "paper":
            print("I Win!")
        else:
            print("You Win!")
    elif q_1 == "paper":
        if comp == "rock":
            print("You Win!")
        else:
            print("I Win!")
    else:
        if comp == "rock":
            print("I Win!")
        else:
            print("You Win!")
else:
    print("Ok :(")

您的代码存在一些问题。

首先,如果用户输入“是”,您的代码只会玩游戏。 您需要将if q_1:= "yes":更改为if q_1 == "yes":

其次,您的代码要求用户选择石头、布或剪刀,无论他们是否表示要玩。 通过将user = str(input("Great, select Rock Paper or Scissors:"))移动到if q_1 == "yes": if 语句下来解决此问题。

第三,您的代码使用q1而不是user

您的代码应如下所示:

import random

q_1 = str(input("Hello, want to play Rock Paper Scissors?:"))

print()
# ^^adds an indent
rpc_list = ["rock", "paper", "scissors"]

comp = random.choice(rpc_list)
# ^^randomly selects r, p, or s

if q_1 == "yes":
    user = str(input("Great, select Rock Paper or Scissors:"))
    if user == comp:
        print("Oh No, a Tie!")
    elif user == "rock":
        if comp == "paper":
            print("I Win!")
        else:
            print("You Win!")
    elif user == "paper":
        if comp == "rock":
            print("You Win!")
        else:
            print("I Win!")
    else:
        if comp == "rock":
            print("I Win!")
        else:
            print("You Win!")
    print("I played:",comp)
else:
    print("Ok :(")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM