我想创建一个转换程序,自动将转换后的文本复制到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