鱼C论坛

 找回密码
 立即注册
查看: 1505|回复: 11

[已解决]Python 20讲 第1题 自己的代码不知道为什么得不出结果,求大神帮忙看看哪里出了问题

[复制链接]
头像被屏蔽
发表于 2021-11-7 20:01:42 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-7 20:03:00 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-7 20:05:03 | 显示全部楼层
因为你省略了代码
== 判断符不是这样用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-7 20:06:22 | 显示全部楼层
千万不要把系统当人看,它根本不明白人类思维,请用合法方式写代码(至少系统明白)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-7 20:13:47 | 显示全部楼层
  1. string = "ABCbananaDEF"
  2. valid = lambda string: all([i.isupper() for i in string[:3]+string[-3:]])
  3. print(valid(string))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-7 20:17:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2021-11-7 20:18 编辑

        试一下这个代码
  1. s , p = 'a' + '' . join(string . split('\n')) + 'a' , ''
  2. for k in range(4 , len(s) - 4):
  3.     if s[k - 4] . islower() and s[k - 3 : k] . isupper() and s[k] . islower() and s[k + 1 : k + 4] . isupper() and s[k + 4] . islower():
  4.         p += s[k]
  5. print(p)
复制代码

        这个代码直接使用了楼主代码中的变量 string。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-8 00:22:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-8 00:25:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-8 00:26:27 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-8 01:08:54 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-8 01:19:40 | 显示全部楼层
本帖最后由 jackz007 于 2021-11-8 01:20 编辑
  1. for each in range(3,length-2):
复制代码

              两侧必须对称
  1. for each in range(3,length-3):
复制代码

         这样写,每次判断以 string[ i ] 为中心的 7 个字符,注意,题目的条件说,每位密码的左右两边均有且只有三个大写字母,这就告诉我们,应该每次判断以 string[ i ] 为中心的 9 个字符,因为,秘码字符的两侧如果有第 4 个字符,那就一定是小写字母。这也是我为什么要在字符串的首尾个添加一个小写字母 'a' 的原因,好让判断始终如一,否则的话,首尾必须要特别处理。剩下的判断逻辑就已经非常简单了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
 楼主| 发表于 2021-11-8 19:49:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 23:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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