鱼C论坛

 找回密码
 立即注册
查看: 1492|回复: 1

[已解决]py第二十课,最后一习题不懂,求救

[复制链接]
发表于 2017-7-5 20:59:25 | 显示全部楼层 |阅读模式

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

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

x
  1. str1='''目标字符窜'''

  2. length=len(str1)
  3. for each in range(length):
  4.     if each>=4 and each <= (length-4):
  5.         if str1[each].islower():
  6.             if  str1[each+1].isupper() and str1[each+2].isupper() and str1[each+3].isupper():
  7.                 if str1[each-1].isupper() and  str1[each-2].isupper() and  str1[each-3].isupper():
  8.                     print(str1[each],end=' ')
复制代码


我不是太懂为什么我的代码不行,是哪里出问题了??


运行我的代码得到如下结果:
==================== RESTART: C:\Users\asus\Desktop\ss.py ====================
l p u i a l l o u o v v h e z f b i l b j i i r m s q q x t h t g c n k d l j o a s n c e x w
最佳答案
2017-7-6 19:20:59
本帖最后由 yongxi 于 2017-7-6 19:27 编辑

第一个问题:
注意题目要求。是且仅有3个大写,就是说第四个必须是小写
因此你最后两段if语句应该是要判断前面第四个和后面第四个是小写,你却只判断了3个大写。
第二个问题:
因为索引值是从0开始,并且以下两种情况:
一:     XXXxXXXx  以这种情况开始的话,也是符合要求的 此时中间x的索引值是3.而你开始判断的索引值是4
二:     xXXXxXXX以这种结尾的也是符合题目要求的情况,而你直接length-4
以上两种情况你的代码都是错误判断

如果要按照你的思路来解题。for循环下面要给出三个if
第一个if  each == 3, 如上一
第二个if  each ==length-3 ,如上二
第三个if   3< each<length-3 就是你自己的代码,并且加上前4个和后4个是小写的判断

最后。
按照你的思路,代码只能是如上了, 但是你别忘记了还有换行符的情况。
所以在运行之前你必须要先去掉换行符 因此,小甲鱼老师提供的参考答案,虽然代码要长一点,但是思路比你的要清晰
3.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-7-6 19:20:59 | 显示全部楼层    本楼为最佳答案   
本帖最后由 yongxi 于 2017-7-6 19:27 编辑

第一个问题:
注意题目要求。是且仅有3个大写,就是说第四个必须是小写
因此你最后两段if语句应该是要判断前面第四个和后面第四个是小写,你却只判断了3个大写。
第二个问题:
因为索引值是从0开始,并且以下两种情况:
一:     XXXxXXXx  以这种情况开始的话,也是符合要求的 此时中间x的索引值是3.而你开始判断的索引值是4
二:     xXXXxXXX以这种结尾的也是符合题目要求的情况,而你直接length-4
以上两种情况你的代码都是错误判断

如果要按照你的思路来解题。for循环下面要给出三个if
第一个if  each == 3, 如上一
第二个if  each ==length-3 ,如上二
第三个if   3< each<length-3 就是你自己的代码,并且加上前4个和后4个是小写的判断

最后。
按照你的思路,代码只能是如上了, 但是你别忘记了还有换行符的情况。
所以在运行之前你必须要先去掉换行符 因此,小甲鱼老师提供的参考答案,虽然代码要长一点,但是思路比你的要清晰
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-10 05:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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