最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法使用 Tkinter 中的輸入框將字符串轉換為整數(shù)

無法使用 Tkinter 中的輸入框將字符串轉換為整數(shù)

慕尼黑8549860 2023-10-11 20:12:36
一般來說,我對 tkinter 和 python 很陌生,我遇到了一個無法解決的問題。在我的程序中,我想獲取用戶的輸入并將其轉換為整數(shù)以便稍后使用該變量。主要問題是我收到錯誤 invalidliteral for int() with base 10: ''。我通過網(wǎng)上搜索嘗試了不同的方法,但沒有一個起作用。非常感謝任何幫助。謝謝你! Visual Studio 上的錯誤消息我的代碼:from tkinter import *import tkinter as tkwindow = Tk()window.title("Controlla quote")window.geometry('400x150')#binaribinari_num=0def binari(number):    if number==1:        binari_num=1        print("binari= ",binari_num)    elif number==2:        binari_num=2        print("binari= ",binari_num)    else:        pass    return binari_num#radiobuttonsinfo = IntVar()binari_1 = Radiobutton(window, text="1", command=lambda:binari(info.get()),variable=info,value=1).grid(column=1, row=0)binari_2 = Radiobutton(window, text="2", command=lambda:binari(info.get()),variable=info,value=2).grid(column=2, row=0)#binari labelbinari_scritta=Label(window, text="Binari:").grid(column=0, row=0, stick=W)#stazionamentistazionamenti_label=Label(window, text="Stazionamenti: ").grid(column=0, row=1, stick=W)stazionamenti_entry=Entry(window)stazionamenti_entry.grid(column=1, row=1, stick=W)#conversion stazionamentistazionamenti_str= stazionamenti_entry.get()stazionamenti_num= int(stazionamenti_str)#avantidef avanti():    passavanti_btn=Button(window, text="Avanti", command=avanti()).grid(columnspan=50, stick=E)window.mainloop()
查看完整描述

3 回答

?
神不在的星期二

TA貢獻1963條經(jīng)驗 獲得超6個贊

問題是代碼會立即執(zhí)行,并且當stazionamenti_entry.get()被調用時,它基本上是一個空字符串""。int()需要一個有效的字符串,其中僅包含數(shù)字和可選的第一個減號。帶有空格或空字符串或非數(shù)字字符的字符串會出現(xiàn)此錯誤。


該錯誤意味著“提供的字符串無法轉換為 int”。


您可以做的是創(chuàng)建一個函數(shù)并在stazionamenti_entry.get()需要時調用它,并確保stazionamenti_entry. 更準確地說,您應該在您的函數(shù)中執(zhí)行此avanti操作。


您可以在之前添加一些檢查,stazionamenti_num= int(stazionamenti_str)例如:


if stazionamenti_str :

    stazionamenti_num= int(stazionamenti_str)

這將確保字符串不為空。


應OP要求:


.

.

.

stazionamenti_label=Label(window, text="Stazionamenti: ").grid(column=0, row=1, stick=W)

stazionamenti_entry=Entry(window)

stazionamenti_entry.grid(column=1, row=1, stick=W)

#conversion stazionamenti



def helper():

    global stazionamenti_num

    global stazionamenti_entry

    if stazionamenti_entry.get():

        stazionamenti_num = int(stazionamenti_entry.get())

#avanti

def avanti():

    helper()

    print(stazionamenti_num)


avanti_btn=Button(window, text="Avanti", command=avanti).grid(columnspan=50, stick=E)

window.mainloop()


查看完整回答
反對 回復 2023-10-11
?
PIPIONE

TA貢獻1829條經(jīng)驗 獲得超9個贊

你能試一下嗎

binari_1?=?Radiobutton(window,?text="1",?command=lambda:binari(int(info.get())),variable=info,value=1).grid(column=1,?row=0)

binari_2?=?Radiobutton(window,?text="2",?command=lambda:binari(int(info.get())),variable=info,value=2).grid(column=2,?row=0)

我認為IntVar()似乎有不同的方法或返回的對象。嘗試使用int()函數(shù)轉換它


查看完整回答
反對 回復 2023-10-11
?
茅侃侃

TA貢獻1842條經(jīng)驗 獲得超22個贊

我以此結束。但如果我打?。╯tazionamenti_num)它不會打印它@abdullahQureshee


#stazionamenti

stazionamenti_label=Label(window, text="Stazionamenti: ").grid(column=0, row=1, stick=W)

stazionamenti_entry=Entry(window)

stazionamenti_entry.grid(column=1, row=1, stick=W)

#conversion stazionamenti

global stazionamenti_str

global stazionamenti_num

stazionamenti_str=""

def stazionamenti_convert():

    stazionamenti_num= int(stazionamenti_str)



#avanti

def avanti():

    if stazionamenti_str:

        stazionamenti_convert()

avanti_btn=Button(window, text="Avanti", command=avanti()).grid(columnspan=50, stick=E)

window.mainloop()


查看完整回答
反對 回復 2023-10-11
  • 3 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號