首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:+:'builtin_function_or_method‘和'NoneType’不支持的操作数类型

TypeError:+:'builtin_function_or_method‘和'NoneType’不支持的操作数类型
EN

Stack Overflow用户
提问于 2020-03-16 21:46:03
回答 1查看 186关注 0票数 0

我试着用python制作石头剪刀游戏,但当我尝试运行它时,我会得到这个错误:

TypeError:+:'builtin_function_or_method‘和'NoneType’不支持的操作数类型

代码如下:

代码语言:javascript
运行
复制
import random
import time
import os
os.system("color 02")
Controls= ("Controls:\nR = Rock\nP = Papper\nS = Sicissors\n")
Moves = ['r','p','s']
Player_Wins = ['rs','sp','pr']
AI_Wins = ['sr','ps','rp']
P_Score = 0
AI_Score = 0
print("This is a game of rock paper scissors\n")
time.sleep(1)
print("To put it simply you will be facing against me\n\n(The computer!)\n")
print(Controls)
while True:
    P_Move = input("Your Move: ").lower
    AI_Move = print("AI Move:",random.choice(Moves))
    if P_Move + AI_Move in Player_Wins:
        print("\nYou Win!\n")
        P_Score = P_Score + 1
        print(P_Score)
    elif P_Move + AI_Move in AI_Wins:
        print("\nAI Win!\n")
        AI_Score = AI_Score + 1
        print(AI_Score)
    elif AI_Move == P_Move:
        print("Tie")
EN

回答 1

Stack Overflow用户

发布于 2020-03-16 22:56:37

因为没有调用.lower方法,所以P_Move是一个函数。在这之后添加(),这样它就是一个字符串。

AI_Move也不是字符串。它是None,因为它是打印函数的结果。

正确的代码将是:

代码语言:javascript
运行
复制
P_Move = input("Your Move: ").lower()
print("AI Move:")
AI_Move = random.choice(Moves)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60707167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档