首页 > 解决方案 > 不会打印 int 和 str 的组合

问题描述

购买散装药用花时计算节省的愚蠢脚本。

尝试将其包装在 str() 中以查看是否将其全部转换为字符串,以便可以 print()。


from prettytable import PrettyTable
    print("*Enter with spaces seperating")
    oneGP, twoGP, OneEightP, OneFourP, OneHalfP, ozP= map(int, input().split(" "))

    x = PrettyTable()

    x.field_names = ["1g", "2g", "1/8", "1/4", "1/2" "Oz"]

    x.add_row(["$" + oneGP, "$" + twoGP, "$" + OneEightP, "$" + OneFourP,"$" + OneHalfP, "$" + ozP])
    x.add_row([oneGP/1, twoGP/2, OneEightP/3.5, OneFourP/7,OneHalfP/14,ozP/28])

    print(x)

Traceback(最近一次调用最后一次):文件“main.py”,第 10 行,在 x.add_row(["$" + oneGP, "$" + twoGP, "$" + OneEightP, "$" + OneFourP,"$ " + OneHalfP, "$" + ozP]) 类型错误:只能将 str(不是 "int")连接到 str

标签: pythonprettytable

解决方案


x.add_row(["$" + str(oneGP), "$" + str(twoGP), "$" + str(OneEightP), "$" + str(OneFourP),"$" + str(OneHalfP), "$" + str(ozP)])

您尝试将 int 连接到字符串,因此会发生此错误 + 将与相同类型的对象一起使用,因此您需要在某些情况下使用 cast 或者如果您不想转换 use,而不是+


推荐阅读