|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
a=12345678
b='1234567890'
i=0
for each in a:
if each in b:
i = i + 1
print(i)
'以上这段代码是用来检测密码 a 的每一位是否都是数字,如果是计数器 i 增加 1'
但是我写循环代码的时候是这样写的,如下:
for each in range(len(a)):
if a[each] in b:
i = i + 1
我这样写的原因是受到 >>> “giraffe”[0] 的影响,我以为要一个个检测通过才行,而且要使用range(len())来计数
'g'
所以,我的问题是:为什么在for语句中,a代入each是一个一个地代入,而不是整体代入,我这里 a 是纯数字,如果是一串字符又是什么情况?
本帖最后由 chakyam 于 2017-11-28 16:07 编辑
- int_a=123456789
- str_a=str(int_a)
- count=0
- for i in str_a:
- if i.isdigit():
- count += 1
复制代码
- >>> int_a=123456789
- >>> for i in int_a:
- pass
- Traceback (most recent call last):
- File "<pyshell#9>", line 1, in <module>
- for i in int_a:
- TypeError: 'int' object is not iterable
复制代码
|
|