我是一名A級學生,他正在寫計算機課程。我的代碼中的一小部分需要輸入將它們變成一個時間。早上8點如此顯示:08,因爲這就是SQLite喜歡它的原因。它轉換成一個日期然而,當我在標題中得到錯誤信息:_tkinter.TclError:預期的浮點數,但得到了「08」(看起來像無效的八進制數)
_tkinter.TclError: expected floating-point number but got "08" (looks like invalid octal number)
這也恰好與09,但與06或07
代碼:
variable_start = IntVar(root)
variable_start.set("Select Start Time")
option_add_start = ttk.Combobox(window1, textvariable = variable_start,width = 20, state = 'readonly')
option_add_start['values'] = ("06", "07", "08", "09", "10", "11", "12", "13", "14", "15",
"16", "17", "18","19", "20")
hour1 = variable_start.get()
min1 = variable_start_min.get()
starttimehour = str(datetime.time(hour1,min1,second))
是這與我的數據類型有關嗎?我不確定如何解決它。
能否請您發表您的完整代碼,包括如何定義的變量'hour1','min1'等等。? – pkqxdd
@pkqxdd hour1和min1都沒有明確定義爲某種數據類型,所以我猜測它們是字符。我的代碼不是很整齊,而這正是導致我認爲的問題的原因。這只是我的程序的一部分,其他模塊不會影響到這一點,但如果你想要我的完整代碼,那麼它就會提供一個很長的鏈接。 – simons21
你是否100%確定你在Python 3.x中工作? Python 2以'0'作爲表示八進制數的前綴(參見[這裏](http://stackoverflow.com/questions/11620151/what-do-numbers-starting-with-0-mean-in-python)),但3.x不會將此表單識別爲有效(它將使用'0o'作爲八進制)。 – Delioth