2017-06-20 8 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

関連する問題