If 语句未检测到字符串或不执行操作

If statement does not detect string or doesn't take action

我想制作一个可以和玩家一起玩剪刀石头布的机器人。 但是每次我尝试 运行 脚本,然后输入 Stein (德语中的摇滚), if 语句没有检测到它或没有采取任何行动。

到目前为止,这是我的代码:

import random
import time

print("Anfangs Buchstaben immer groß schreiben!")

time.sleep(2)

outcomes2 = ("Stein")

Runde = 0

while True:

 Player = input("Deine Wahl: ")

 for i in range(1):
    outcomes = print(random.choice(outcomes2))

 if outcomes == Player:
    print("draw")
    Runde + 1
    continue

第 1 期

>>> outcomes2 = ("Stein")
>>> print(random.choice(outcomes2))
n

您正在迭代一个字符串并随机选择一个字符。

我假设你想要:

>>> outcomes2 = ("Stein", )
>>> print(random.choice(outcomes2))
Stein

现在,通过指定 ,,您将迭代一个字符串元组(大小为 1 的元组)。你最终只会得到 "Stein" 除非你添加更多的字符串,比如

outcomes2 = ("Stein", "Name2", "Name3", ...)

第 2 期

你想要outcomes = random.choice(outcomes2)。不要给print语句赋值,因为print returns None.

放在一起...

outcomes2 = ("Stein", )

Runde = 0
while True:
    Player = input("Deine Wahl: ")
    outcomes = random.choice(outcomes2)

    if outcomes == Player:
       print("draw")
       Runde + 1
       continue
`import time
import random
comp_score=0
play_score=0
outcome=('rock','paper','scissor')

while True:     
    player = raw_input("Enter any?");   
    out=random.choice(outcome) 
    print "COMP->"+out      
    if out==player:     
        print "draw"    
    elif out=="rock"and player=="scissor":      
    comp_score+=1;  
    elif out=="scissor" and player=="rock":     
        play_score+=1;  
    elif out=="rock" and player=="paper":   
        play_score+=1;  
    elif out=='paper' and player=='rock':   
        comp_score+=1;  
    elif out=="scissor" and player=="paper": 
            play_score+=1;  
    elif out=='paper' and player=="scissor":
            comp_score+=1;  
    elif player=="quit":        
    break; 
    print "GAME over"
    print "PLayer score: ",play_score
    print "Comp score ",comp_score`