python学习中,跟着课程自己编写了一个简单代码,但是运行结果有误,不知道哪里出现问题,请大家指点!
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = "999999799999";
print
str.strip('9'); # 去除首尾字符 9
str2 = str.strip('9')
print(str2)
if str2==7:
print('正确')
else:
print('错误')
print('end')
运行结果如下:
7
错误
end
引用 皆我百晓生 小程序回复内容作答:
你的代码存在一些问题:
print
函数是一个可调用的方法,你需要在调用时添加小括号 ()
,否则它的作用将不会生效。所以,你需要将 print
改为 print()
,以正确输出结果。
当你调用 strip()
方法时,它会返回一个新的副本字符串,而不会改变原始字符串 str
的值。所以,你需要将 str.strip('9')
的结果赋值给另一个变量,比如 str2
。
在比较 str2
是否等于 7 时,你使用了 ==
运算符,但是在代码中,str2
的值是一个字符串('7'),而不是一个整数。所以,你需要将 '7'
改为 7
,以便正确比较。
修正后的代码如下所示:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = "999999799999"
print(str.strip('9')) # 去除首尾字符 9
str2 = str.strip('9')
print(str2)
if int(str2) == 7:
print('正确')
else:
print('错误')
print('end')
希望这能帮到你!
我理解的是,运行结果应该是 7;正确;end