我是新手求大佬解答
for each in passwd:if each in symbols:
flag_con += 1
break
上边没有对flag_con赋值为什么不报错
f=0
num='12345dfdss'
char=
for i in num:
if i in char:
f+=1
if f>1:
print('love')
这个为什么错了
#这是python小甲鱼第14讲 单独运行的话,第一个程序,flag_con 没有定义,会报错的;第二个程序不会报错
你现在是第一个不报错,那么你就看看flag_con 在前面有没有定义,理论上是应该有定义的
第二个程序报错应该不是变量没有定义引起的,具体要看错误 因为遍历的结果是字符 redforce 发表于 2021-10-31 19:05
单独运行的话,第一个程序,flag_con 没有定义,会报错的;第二个程序不会报错
你现在是第一个不报错,那 ...
第二个没有报错但他运行不出来 米斯特尔.D 发表于 2021-10-31 19:07
第二个没有报错但他运行不出来
这是为什么 米斯特尔.D 发表于 2021-10-31 19:07
这是为什么
for i in num-------i拿到的值是str类型
char这个列表中的元素是int类型,所以判断i都不在列表中,f就不会加1
最终f的值依然是0,把char那个列表改一下就可以
f=0
num='12345dfdss'
char=['1','2','89']
for i in num:
if i in char:
f+=1
print(f)
if f>1:
print('love') 本帖最后由 jackz007 于 2021-10-31 19:15 编辑
没有报错的原因是 passwd 当中没有包含到 symbols 中的字符,因而 flag_con += 1 没有被执行到,一旦执行到,是铁定会报错的。
Python 规定,变量必须先定义,然后才能使用,而定义的方法就是赋值。 米斯特尔.D 发表于 2021-10-31 19:07
第二个没有报错但他运行不出来
一个是字符,一个是整数,f 永远是 0 啊大哥
页:
[1]