Не печатать комбинацию int и str - PullRequest
0 голосов
/ 30 октября 2019

Тупой скрипт для расчета экономии при покупке навалом медицинского цветка.

Попытался обернуть его в str (), чтобы посмотреть, не преобразовал ли он все это в строку, чтобы можно было напечатать ().


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]) TypeError: может объединять только str (но не int) в str

1 Ответ

1 голос
/ 30 октября 2019
x.add_row(["$" + str(oneGP), "$" + str(twoGP), "$" + str(OneEightP), "$" + str(OneFourP),"$" + str(OneHalfP), "$" + str(ozP)])

вы пытались соединить int со строкой, чтобы произошла эта ошибка + будет работать с объектами того же типа, поэтому вам нужно использовать приведение в некоторых случаях или, если вы не хотите приводить, используйте , вместо +

...