【问题标题】:TypeError: '>' not supported between instances of 'str' and 'int'类型错误:“str”和“int”的实例之间不支持“>”
【发布时间】:2018-06-21 04:35:10
【问题描述】:

此错误在我的代码中不断出现在左侧、右侧和中心位置。这真的很烦人。到目前为止,我已经全部修复了,但我似乎无法修复这个。

Traceback (most recent call last):
File "C:\Users\Home\Desktop\da.py", line 31, in <module>
if (number > 1):
TypeError: '>' not supported between instances of 'str' and 'int'

代码本身:

    from tkinter import *
from tkinter import ttk
import tkinter as tk
def add_text():
    global number
    number = num_textbox.get()
    print(number)
root = Tk()
root.title("Number Cent Divider")
root.geometry("330x85")
num_col_mat = Label(root, text="Your number:")
num_col_mat.pack()
num_textbox = Entry(root, bd=1)
num_textbox.pack()
enter_button = Button(root, text="Enter", command=add_text)
enter_button.pack()
root.mainloop()
if (number[-1] == 5 or number[-1] == 0):
    number / 5
    int(number)
    if (number > 1):
        answer = "\number 5 cent coins"
        str(number)
        popup()
    else:
        answer = "\number 5 cent coin"
        str(number)
        popup()
else:
    int(number)
    if (number > 1):
        answer = "\number 1 cent coins"
        str(number)
        popup()
    else:
        answer = "\number 1 cent coin"
        str(number)
        popup()
def popup():
    popup = tk.Tk()
    popup.wm_title("answer")
    answer = Label(popup, text=answer)
    answer.pack
    B1 = ttk.Button(popup, text="Ok", command=popup.destroy)
    B1.pack()

任何帮助将不胜感激,因为此错误不想得到修复。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    numberstr,所以首先需要将其转换为数字。例如:

    if int(number) > 1
    

    在一行上写int(number) 本身不会做任何事情......它只是返回一个数字,然后将其忽略。如果要将结果存储在 number 变量中,可以使用 number = int(number)

    考虑使用number = int(num_textbox.get()) 提前完成转换。 (但请注意,如果该文本框的内容不是有效数字,则会出现异常。)

    【讨论】:

    • 谢谢。学到了新东西。当它允许我时,我会关闭这个问题。 (11 分钟)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-14
    • 2021-09-28
    • 2020-05-19
    • 2021-08-10
    • 2019-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多