Python 类型错误问题

2023-12-13

我正在编写一个简单的程序来帮助为我所属的游戏生成订单。它属于我实际上不需要的程序类别。但现在我已经开始了,我希望它能发挥作用。一切都运行得很顺利,但我不知道如何阻止大约一半时发生的类型错误。这是代码;

status = 1

print "[b][u]magic[/u][/b]"

while status == 1:
    print " "
    print "would you like to:"
    print " "
    print "1) add another spell"
    print "2) end"
    print " "
    choice = input("Choose your option: ")
    print " "
    if choice == 1:
        name = raw_input("What is the spell called?")
        level = raw_input("What level of the spell are you trying to research?")
        print "What tier is the spell: "
        print " "
        print "1) low"
        print "2) mid"
        print "3) high"
        print " "
        tier = input("Choose your option: ")
        if tier == 1:
            materials = 1 + (level * 1)
            rp = 10 + (level * 5)
        elif tier == 2:
            materials = 2 + (level * 1.5)
            rp = 10 + (level * 15)
        elif tier == 3:
            materials = 5 + (level * 2)
            rp = 60 + (level * 40)
        print "research ", name, "to level ", level, "--- material cost = ",
                materials, "and research point cost =", rp
    elif choice == 2:
        status = 0

有人可以帮忙吗?

edit

我得到的错误是;

Traceback (most recent call last):
  File "C:\Users\Mike\Documents\python\magic orders", line 27, in <module>
    materials = 1 + (level * 1)
TypeError: unsupported operand type(s) for +: 'int' and 'str'

堆栈跟踪会有所帮助,但大概错误是:

materials = 1 + (level * 1)

‘level’是一个字符串,你不能对字符串进行算术运算。 Python 是一种动态类型语言,但不是弱类型语言。

level= raw_input('blah')
try:
    level= int(level)
except ValueError:
    # user put something non-numeric in, tell them off

在程序的其他部分,您使用 input(),它将以 Python 方式计算输入的字符串,因此对于“1”,将为您提供数字 1。

但!这是超级危险的——想象一下如果用户输入“os.remove(filename)”而不是数字会发生什么。除非用户只有你一个并且你不在乎,否则永远不要使用 input()。它将在 Python 3.0 中消失(raw_input 的行为将被重命名为 input)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 类型错误问题 的相关文章

  • 使用 Python 编辑 RTF 文件

    也许这是一个愚蠢的问题 但我不明白 所以道歉 我有一个 RTF 文档 我想更改它 例如 有一个表 我想复制一行并以面向对象的方式更改代码中第二行中的文本 我认为 pyparsing 应该是可行的方法 但我摆弄了几个小时但没有明白 我没有提供
  • Python 和 Numpy 是 nan 和 set

    我在使用 Python 的 Numpy set 和 NaN 非数字 时遇到了不可预测的行为 gt gt gt set np float64 nan np float64 nan set nan nan gt gt gt set np flo
  • ValueError:请使用“Layer”实例初始化“TimeDistributed”层

    我正在尝试构建一个可以在音频和视频样本上进行训练的模型 但出现此错误ValueError Please initialize TimeDistributed layer with a Layer instance You passed Te
  • McNemar 在 Python 中的测试以及分类机器学习模型的比较 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有用 Python 实现的好的 McNemar 测试 我在 Scipy stats 或 Scikit
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 如何使用 Python boto3 获取 redshift 中的列名称

    我想使用 python boto3 获取 redshift 中的列名称 创建Redshift集群 将数据插入其中 配置的机密管理器 配置 SageMaker 笔记本 打开Jupyter Notebook写入以下代码 import boto3
  • 为什么第二个 request.session cookies 返回空?

    我想使用 requests Session post 登录网站 但是当我已经登录主页 然后进入帐户页面时 看来cookies还没有保存 因为cookies是空的 而且我无法进入正确的帐户页面 import requests from bs4
  • 如何将 sql 数据输出到 QCalendarWidget

    我希望能够在日历小部件上突出显示 SQL 数据库中的一天 就像启动程序时突出显示当前日期一样 在我的示例中 它是红色突出显示 我想要发生的是 当用户按下突出显示的日期时 数据库中日期旁边的文本将显示在日历下方的标签上 这是我使用 QT De
  • python celery -A 的无效值无法加载应用程序

    我有一个以下项目目录 azima init py main py tasks py task py from main import app app task def add x y return x y app task def mul
  • OpenCV 跟踪器:模型未在函数 init 中初始化

    在视频的第一帧 我运行一个对象检测器 它返回对象的边界框 如下所示
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • 在 Mac OSX 上从 Python 3.6 运行 wine 命令

    我正在尝试用 Python 编写一个打开的脚本wine然后发送代码到wine终端打开一个 exe程序 这 exe程序也是命令驱动的 我可以打开wine 但我无法进一步 import shlex subprocess line usr bin
  • numpy:如何连接数组? (获得多个范围的并集)

    我使用Pythonnumpy 我有一个 numpy 索引数组a gt gt gt a array 5 7 12 18 20 29 gt gt gt type a
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • 将字符串中的随机字符转换为大写

    我尝试随机附加文本字符串 这样就不只是有像这样的输出 gt gt gt david 我最终会得到类似的东西 gt gt gt DaViD gt gt gt dAviD 我现在的代码是这样的 import random import stri
  • PyInstaller“ValueError:源代码字符串不能包含空字节”

    我得到了一个ValueError source code string cannot contain null bytes执行命令时pyinstaller main py在具有和不具有管理员权限的cmd中 Traceback most re
  • 在 numpy 中连接维度

    我有x 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 2 3 I want 1 2 3 4 5 6 7 8 9 10 11 12 shape 2 6 也就是说 我想连接中间维度的所有项目 在这种特殊情况下我可以得到这
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • django jet 中的自定义徽标

    我目前正在尝试对 django 管理面板的皮肤进行一些定制 以使其更符合我们的品牌 目前我们使用 django jet 来美化管理面板 django jet 可以自定义 css html 吗 所有评论都说我应该更改一些 html 文件 但我

随机推荐

  • 在带有左侧位置侧边栏的网站中插入谷歌地图

    我在我的 Gmail 帐户中创建了一个公共地图 我在地图上添加了不同的位置 我想将地图插入我的网站 并且想在左侧边栏中显示地点的位置 就像在谷歌地图网站中一样 但我找不到如何操作 This is the map as shown in my
  • UI.Composition 中的 Win2D 效果 (C++)

    Note 目标是创建一个带有丙烯酸背景的窗口 可以通过 OpenGL 进行绘制 任何可以实现这一目标的方法都是值得欢迎的 我已经能够成功创建一个合成器this教程 并打算根据中给出的示例代码添加高斯模糊this doc 下列的这个帖子 我从
  • 如何使用java卡apdu从智能卡写入和读取数据

    我写了一个小程序并将其安装在智能卡中 但我不知道如何读写智能卡数据 private void readName APDU apdu throws ISOException byte apduBuffer apdu getBuffer for
  • 使用 MongoDB 作为 Django 项目后端时出现问题 (Django 1.7)

    我使用以下教程设置我的应用程序 http django mongodb engine readthedocs org en latest topics setup html当我按照 settings py 中此链接的详细信息设置后端时 出现
  • 获取当前文本<选择>

  • Spring事务管理器(注解风格)运行时错误

    所以本质上 当我在 glassfish 应用程序服务器中加载战争时 我遇到了异常 我正在将 Spring 的事务管理器与我的 mysql 数据库一起使用 报告的错误 完整堆栈跟踪 如下 java lang Exception java la
  • 如何使用支持 Futures 的超级块的 Serde 零拷贝反序列化来存储结果?

    我正在使用 futures tokio hyper 和 serde json 来请求和反序列化一些需要保留到下一个请求的数据 我最初的想法是制作一个包含hyper Chunk以及借用的反序列化数据Chunk 但无法获得正确的生命周期 我尝试
  • localhost 无法解析为 127.0.0.1

    我打电话给Inet4Address getByName localhost 期待看到127 0 0 1 但我看到我的 IP 分配给了我的以太网 机场 如果我断开以太网 机场 我将得到以下解决方案127 0 0 1 但一旦我再次连接 它就会解
  • 检测来电

    我需要确定来电何时到达 我知道 如果用户接听电话 则将调用 applicationWillTerminate 而当出现带有通话确认消息的弹出窗口时 将调用 applicationWillResignActive 但是 application
  • 是否可以通过 JavaScript 关闭浏览器窗口?

    我希望能够使用 JavaScript 关闭浏览器窗口 这可能吗 window close
  • 在 R 中更改数据框列类的最佳方法

    这又是一个看似简单的问题 但是 我在 R 中有一个名为 d1 的小数据框 1 2 1 SHY 75000 2 IGLIX 25000 我想做的就是将第 2 列中的字符转换为数字 经过一个小时的摆弄后 我能弄清楚有效的是 a lt data
  • Glassfish 部署错误“无法识别 MyProject.jar 的存档类型”

    我创建了一个动态 Web 应用程序 我想用 glassfish 部署它 我已成功将源代码构建到 MyProject jar 但是当我部署它时 显示以下错误 远程故障 无法识别 home davenlin MyProject build My
  • 通过Spring MVC上传二进制文件到MySQL的正确方法

    我正在尝试将文件上传到 MySQL 但是我无法正确执行此操作 我正在使用云平台将 Java Spring 应用程序作为网站运行 控制器 byte bytes file getBytes file is MultipartFile DFile
  • 将变量传递到示例部分[重复]

    这个问题在这里已经有答案了 我设置了两个变量 假设在一个功能中 cityA New York 和 cityB Las Vegas 并将它们 导出 def表达 现在我想在另一个功能中使用这些变量 Scenario Outline Succes
  • Oracle sql查询按日期对连续记录进行分组

    使用下面的示例数据 我尝试以相同的速率对记录进行分组 id start date end date rate 1 01 01 2017 12 00 00 am 01 01 2017 12 00 00 am 300 1 02 01 2017
  • 为bazel、android tensorflow设置targetSdkVersion和compileSdkVersion

    我需要帮助如何为 bazel 设置目标和单独编译 Sdk 版本 我想在手机上运行tensorflowthis教程 编辑 bazel 的 WORKSPACE 后如下 android sdk repository name androidsdk
  • 加快 PLY 文件读取速度

    目前 我在 MATLAB 中使用以下代码段将 PLY 读入 MATLAB 矩阵 这是一个示例 PLY 文件 但当PLY文件很大时 需要相当长的时间 有没有更好的方法在 MATLAB 中高效读取文本文件 data textread fileN
  • Spring:标准日志方面(拦截器)

    我发现了很多关于如何使用 Spring 框架创建自定义方面进行日志记录的示例 例如this or this但没有找到这种情况和问题的标准 通用 Spring 实现 Spring 是否有日志记录方面的标准实现 是的 有
  • 如何在 Ubuntu 11.10 上编译 OpenJDK 7 调试版本

    我在哪里可以找到一组简单的指令来编译OpenJDKUbuntu 11 10 Oneiric 上的 7 调试版本 调试版本将使更多 JVM 选项可用于故障排除 例如 WizardMode The 开发者指南 and 构建自述文件有很多噪音并且
  • Python 类型错误问题

    我正在编写一个简单的程序来帮助为我所属的游戏生成订单 它属于我实际上不需要的程序类别 但现在我已经开始了 我希望它能发挥作用 一切都运行得很顺利 但我不知道如何阻止大约一半时发生的类型错误 这是代码 status 1 print b u m