我想創建一個轉換程序,自動將轉換後的文本複製到Windows剪貼板。我試圖做到這一點,以便如果用戶輸入一個小數點後兩位的數字,它會將轉換後的結果複製到三個位置到剪貼板。如果用戶輸入一個小數點後3位的數字,它會將轉換後的結果複製到剪貼板中取出至小數點後4位。當我運行代碼時,我得到一個ValueError,但我不知道爲什麼。下面是我得到創建if語句與浮動
line 88, in con
if float_number >= ("%.3f" % float_number):
ValueError: incomplete format
錯誤繼承人的代碼的一部分那給我的麻煩(我把在註釋中解釋的事情,可能看起來像他們對你的思念你們/加侖)
def con():
While True:
print("Return = Main Menu, Surface = RA Conversion")
print(MM_break) #This is defined globally elsewhere
number = (input())
if number in('Return', 'return'):
break
elif number in('Surface', 'surface'):
surf() #I have a def surf() elsewhere in the program
elif number in('help', 'Help'):
help() #I have a def for help() elsewhere
elif number in('end', 'exit', 'quit')
break
else:
try:
float(number)
except ValueError:
print(sys_Error) #I have a global variable for sys_Error elsewhere
break
else:
float_number = float(number)
Convert = float_number/Inches
Results_3 = ("%.3f" % Convert)#converts 3 decimals
Results_4 = ("%.4f" % Convert)#converts to 4 decimals
print(line_break)
print(" ")
print('\t', Results_3)
print('\t', Results_4)
print(line_break)
print(" ")
if float_number >= ("%.3f%" % float_number):
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append(Results_4)#appends Results_4 to clipboard
else:
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append(Results_3)
請不要給我們錯誤的*全*回溯,而不是問我們猜測其中的錯誤發生。 – 2013-05-02 13:55:44
您不需要調用兩次「float(number)」。只需將'float_number = float(number)'移到'try' /'內,除了..:'並將其他':'套件全部移除。 – 2013-05-02 13:56:32
我可以看到你的代碼將拋出一個'TypeError'而不是'ValueError'。那是你看到的嗎? – 2013-05-02 13:58:51