鱼C论坛

 找回密码
 立即注册
查看: 1105|回复: 3

[已解决]第020讲最后一题可以这样写不

[复制链接]
发表于 2020-8-15 23:20:12 | 显示全部楼层 |阅读模式

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

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

x

str1 = '''ABSaDKSbRIHcRHGcdDIF'''
length=len(str1)
for i in range(3,length-3):
    if str1[i].islower() and str1[i-1].isupper() and str1[i-2].isupper()\
       and str1[i-3].isupper() and str1[i+1].isupper() and str1[i+2].isupper()\
       and str1[i+3].isupper() and not str1[i+4].isupper() and not str1[i-4].isupper():
        print(str1[i],end='')
最佳答案
2020-8-16 00:05:34
本帖最后由 sunrise085 于 2020-8-16 00:09 编辑

不可以,会溢出。
你写的循环中, i 的范围是3~length-3,但是if中出现了 i+4 和 i-4
当 i = length - 3 的时候,i+4 就溢出了
当 i = 3 的时候,i-4为最后一个字符,显然也不是你想要的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-16 00:05:34 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2020-8-16 00:09 编辑

不可以,会溢出。
你写的循环中, i 的范围是3~length-3,但是if中出现了 i+4 和 i-4
当 i = length - 3 的时候,i+4 就溢出了
当 i = 3 的时候,i-4为最后一个字符,显然也不是你想要的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-16 01:26:05 | 显示全部楼层
sunrise085 发表于 2020-8-16 00:05
不可以,会溢出。
你写的循环中, i 的范围是3~length-3,但是if中出现了 i+4 和 i-4
当 i = length - 3  ...

这样改能行吗:


str1 = '''ABSaDKSbRIHcRHGcdDIF'''
length=len(str1)
for i in range(3,length-3):
    if i==3:
        if str1[:3].isupper() and str1[3].islower() and str1[4:7].isupper():
            print(str1[3],end='')
    elif i+3==length:
        if str1[-3:].isupper() and str1[-4].islower() and str1[-7:-5].isupper():
            print(str1[-4],end='')
    else:
        if str1[i].islower() and str1[i-1].isupper() and str1[i-2].isupper()\
       and str1[i-3].isupper() and str1[i+1].isupper() and str1[i+2].isupper()\
       and str1[i+3].isupper() and not str1[i+4].isupper() and not str1[i-4].isupper():
            print(str1[i],end='')
   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-16 09:15:24 | 显示全部楼层

小朋友,你为什么不自己去做测试?
小朋友,要把问题考虑全面。

规则是一个小写字母的前后各有且仅有3个大写字母,大写字母个数不能多也不少。自己再查一下程序的逻辑漏洞吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-19 07:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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