鱼C论坛

 找回密码
 立即注册
查看: 1162|回复: 6

[已解决]Python 第二十课课后题 最后一题

[复制链接]
发表于 2018-2-8 21:34:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. str1 = """XbmSqnpjwJEaDYoehEklEgJyiksGxdEKgfYRXQecRZgfeqKWGc"""

  2. countA = 0
  3. countB = 0
  4. countC = 0
  5. length = len(str1)

  6. for i in range(length):
  7.     if str1[i] == "\n":
  8.         continue

  9.     if str1[i].isupper():
  10.         if countB:
  11.             countC += 1
  12.         else:
  13.             countC = 0
  14.             countA += 1
  15.     if str1[i].islower():
  16.         if countA != 3:
  17.             countA = 0
  18.             countB = 0
  19.             countC = 0
  20.         else:
  21.             if countB:
  22.                 countA = 0
  23.                 countB = 0
  24.                 countC = 0
  25.             else:
  26.                 countB = 1
  27.                 countC = 0
  28.                 target = i
  29.     if countA == 3 and countC == 3:
  30.         if i +1 != length and str1[i+1].isupper():
  31.             countB = 0
  32.             countC = 0
  33.         else:
  34.             print(str1[target], end=" ")
  35.             countA = 3
  36.             countB = 0
  37.             countC = 0
复制代码


if i +1 != length and str1[i+1].isupper():  这句关系判断  前面的  什么意思  没看明白  if i +1 != length  #这里  length 是所有字符的和的值? 是这意思么  如果是 那肯定不相等啊
最佳答案
2018-2-9 09:20:55
if countA == 3 and countC == 3:
这一句表示前后的大小字母分别是3个

if i +1 != length 这句中的length是整个字符串的长度,这里表示i没有索引到最后一个字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-8 21:47:34 | 显示全部楼层
为什么肯定不相等啊? i 的范围是 0 到 length - 1,i + 1肯定有可能等于 length。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-9 09:20:55 | 显示全部楼层    本楼为最佳答案   
if countA == 3 and countC == 3:
这一句表示前后的大小字母分别是3个

if i +1 != length 这句中的length是整个字符串的长度,这里表示i没有索引到最后一个字符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-9 11:38:47 | 显示全部楼层
BngThea 发表于 2018-2-9 09:20
if countA == 3 and countC == 3:
这一句表示前后的大小字母分别是3个

还真是  所有字符串的长度 好的 谢谢
我想问问 为什么 要用 i 和整个字符串做比较  这里是怎么个想法  求指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-9 11:39:38 | 显示全部楼层
BngThea 发表于 2018-2-9 09:20
if countA == 3 and countC == 3:
这一句表示前后的大小字母分别是3个

还真是  所有字符串的长度 好的 谢谢
我想问问 为什么 要用 i 和整个字符串做比较  这里是怎么个想法  求指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-9 11:42:44 | 显示全部楼层
屁哥 发表于 2018-2-9 11:39
还真是  所有字符串的长度 好的 谢谢
我想问问 为什么 要用 i 和整个字符串做比较  这里是怎么个想法   ...

i表示的是索引值,所以将它和字符串的长度比较少为了确定是不是已经索引到边界了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-9 17:24:20 | 显示全部楼层
BngThea 发表于 2018-2-9 11:42
i表示的是索引值,所以将它和字符串的长度比较少为了确定是不是已经索引到边界了

哦  好像明白了  一会再过一遍代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 14:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表