【python模块】错误汇总

Q2 : eval、input函数组合问题

代码如下:

num1 , num2 = eval(input(“请输入被除数和除数 , 用逗号来分隔”))
这段代码的原理是什么???
解释:
input函数接收到用户输入的两个数字字符串,eval函数则将字符串的引号去掉,转换成了数字类型,从而将这个表达式转换成了多重赋值表达式,如:x , y = 1 , 2

Q3 : print()函数输出多个格式化参数,提示TypeError错误

错误代码如下:

disroot = math.sqrt(deta)
root1 = (-b + disroot)/(2*a)
root2 = (-b - disroot)/(2*a)
print(“两个不同的解为%.2f %.2f” % root1 %root2)
运行时提示TypeError错误。

解释:

print()输出格式不对,正确的格式应该为print(“两个不同的解为%.2f %.2f” %(root1 , root2))

说明:

%与(root1 , root2)之间可以有空格,也可以没有

Q5 : 字符串利用while循环遍历时提示“Index_Error : string index out of range”

代码如下:

def drawDate(str):
i = 0
while str[i] != “”:
drawDigit(int(str[i]) , i)
i += 1

系统提示:

while str[i] != “”:
Index_Error : string index out of range

原因:

如果输入字符串“201405”,那么字符串的下标到5,当i=6时,退出循环,不过由于str[6]已经超出了该字符串的字符串长度,所以系统会报错

改进:

可使用“for i in str”的形式来遍历字符串,如果需要标识i是字符串中的第几个字符,可单独设置一整型变量a = 0,代码如下:
a=0
for i in str:
drawDigit(int(i) , a)
a += 1

Q8

猜你喜欢

转载自blog.csdn.net/ly_1995_01/article/details/78741106