如何在Python中创建一个使用单词而不是数字的Sentinel循环?

问题描述

因此,我正在为计算机科学专业学习python,并且对应该做的事情感到非常困惑。因此,我需要在我的剪刀石头布游戏中实现前哨控制重复。我不确定为什么会这样,我认为这只是为了使代码更简洁或更易于使用。但是,在此Sentinel循环中,我需要使用“ while”语句。这很难,因为我在使用数字而不是单词时只见过“ while”语句。当我尝试将这种循环实现到我的剪刀石头布游戏中时,它将永远循环,并且不起作用。有人可以看一下代码,看看发生了什么吗?我会很感激的:)

只是个公平的警告,我知道我的代码是一团糟。对不起,如果打扰任何人

# initialization phase
import random
def comp_choice():
    '''
    When called,this function returns 
    a random item from 
    '''
    rps = ["rock","paper","scissors"]
    return random.choices(rps)[0]

computer_choice = comp_choice()
# processing phase
player = (input("Enter rock,paper,or scissors:"))  # what you can enter

while player == computer_choice:
    if player == computer_choice:
        print ("computer picked",computer_choice)
        print ("Tie game!")
    elif player == "scissors":
        if computer_choice == "paper":
            print ("computer picked",computer_choice)       
            print ("You Win!")
    elif player == "rock":
        if computer_choice == "paper":
            print ("computer picked",computer_choice)
            print ("You Lose!")
    elif player == "paper":
        if computer_choice == "scissors":
            print ("computer picked",computer_choice)       
            print ("You Lose!")
    elif player == "rock":
        if computer_choice == "scissors":
            print ("computer picked",computer_choice)
            print ("You Win!")
    elif player == "scissors":
        if computer_choice == "rock":
            print ("computer picked",computer_choice)
            print ("You Lose!")
    elif player == "paper":
        if computer_choice == "rock":
            print ("computer picked",computer_choice)
            print ("You Win!")

# termination phase

else:
    print ("I think you spelled something wrong... or you capitalized the first letter. try again please")

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)