2017-06-20 34 views
0

這個錯誤在我的代碼中不斷彈出左邊,右邊和中間。這真的很煩人。直到現在,我已經修復了它們,但是我似乎無法修復這個問題。TypeError:在'str'和'int'的實例之間不支持'>'

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() 

任何幫助,將不勝感激,因爲這個錯誤並不希望得到固定。

回答

1

numberstr,所以你首先需要將它轉換爲數字。例如: -

if int(number) > 1 

上線寫int(number)本身並不做任何事......它只是返回一個數字,然後將其忽略。如果您想將結果存儲在number變量中,則可以使用number = int(number)

考慮使用number = int(num_textbox.get())來預先實現轉換。 (但請注意,如果該文本框的內容不是有效的數字,則會發生異常。)

+0

謝謝。學到了新東西。當它讓我時,我會關閉這個問題。 (11分鐘) – 88user

相關問題