痴心绝对 发表于 2021-7-30 10:47:14

Python第020讲的密码题i+1!=length这个语句有什么用呀!?

countA=0
countB=0
countC=0
length=len(str1)
for i in range(length):
    if str1 == '/n':
      continue
    #判断大写字母
    if str1.isupper():
      if countB:
            countC+=1
      else:
            countC=0
            countA+=1
    #判断小写字母
    if str1.islower():
      if countA!=3:
            countA=0
            countB=0
            countC=0
      else:
            if countB:
                countA=0
                countB=0
                countC=0
            else:
                countB=1
                countC=0
                tangle=i
    #打印
    if countA==3 and countC==3:
      if i+1!=length and str1.isupper():#i+1!=length不理解
            countB=0
            countC=0
      else:
            print(str1,end='')
            countB=0
            countC=0

逃兵 发表于 2021-7-30 10:58:44

避免后面str1超出列表索引而报错

青出于蓝 发表于 2021-7-30 10:59:31

这里是将字符串遍历,因为字符串索引是从0开始的,所以最后一个字符的索引比字符串长度少1,所以如果i+1等于字符串的长度,说明这个字符串遍历完了,就可以开始打印了

青出于蓝 发表于 2021-7-30 11:00:12

这个判断短句就是来判断是不是把字符便利完了,因为这个程序是将字符串挨个处理的

Twilight6 发表于 2021-9-18 12:47:57


先判断是否即将超出索引,然后判断下一个字符是否为大写字符

傻眼貓咪 发表于 2021-9-18 13:06:15

这做法是为了避免越界报错。其实有多种做法:
其一,就如你的代码一样,预设边界判断条件。
其二,可以在一开始 第 6 行 for i in range(3, length-3) 预先设边界也行
页: [1]
查看完整版本: Python第020讲的密码题i+1!=length这个语句有什么用呀!?