今天学到了print的格式化输出,遇到了一个问题。
print(“5 % 2 = %d” %(5%2))
该语句会报错:
print("5 \% 2 = %d" %2)
ValueError: unsupported format character ' ' (0x20) at index 6
不知道哪里出现错误,直接开始不停实验
print(“5”)
print(“5 %”)
print(“5 % 2”)
print(“5 % 2 = %d”)
四条语句全部正常输出
当试到:
print(“5 % 2 = %d” %1)
程序报错,不论第3个%后面是什么都会报错
ValueError: unsupported format character ' '........
再次尝试
print(“5 2 = %d” %1)
print(“5 %d 2 = ” %1)
都正常输出
做出猜测:
%+d/f/...表示数据的格式,在print(“5 % 2 = %d” %(5%2))这条语句中,因为涉及到(5%2)的格式化输出,当解释器遇到第1个%时,第一个%后面是“ ”(空格),没有这种格式的数据,所以报错。
目前,暂未想到解决方法。(20:37)