DC3339 发表于 2020-4-19 10:39:08

字符串处理,python20讲第二题编程题

题目如下:
请用已学过的知识编写程序,找出小甲鱼藏在下边这个长字符串中的密码,密码的埋藏点符合以下规律:
    a) 每位密码为单个小写字母
    b) 每位密码的左右两边均有且只有三个大写字母
我的代码不知道哪里的判断没对,密码比标准答案的多筛选了几个字母,不知道哪里判断没对,代码如下:
import string
def shu(str):
    mima=[]
    for i in range(len(str)):
      if str.islower() and str.isupper() and str.isupper() and (str.isupper() is not True) and (str.isupper() is not True):
            mima.append(str)
      else:
            pass
      i+=1
    print(mima)
str=r''''''
shu(str)

DC3339 发表于 2020-4-19 10:42:19

{:10_250:}help

Hoiste 发表于 2020-4-19 11:11:28

如果打印出来的是uilovefisdhc的话就是老问题,原因是TXT里面的换行符和回车符也被当成了大写字母,所以有几个不符合要求的字符也被算进去了,办法是用replace方法把字符串中的内容替换成空字符。
另外,不要用有特殊含义的str作为变量名,这在编程中是大忌,同理list、tuple等也是避免用作变量名的。
string = string.replace('\n','').replace('\r','')

DC3339 发表于 2020-4-19 11:12:50

懂了,字符判断 isupper()和islower()只判断字母,遇到回车符号的时候不会判断,所以当有回车的时候也会认为是字符。C:\Users\Admin\Desktop\字符.png

Hoiste 发表于 2020-4-19 11:16:50

DC3339 发表于 2020-4-19 11:12
懂了,字符判断 isupper()和islower()只判断字母,遇到回车符号的时候不会判断,所以当有回车的时候也会 ...

另外你的代码应该没发全,如果按照发出来的代码运行应该什么都没有输出

DC3339 发表于 2020-4-19 16:58:29

Hoiste 发表于 2020-4-19 11:16
另外你的代码应该没发全,如果按照发出来的代码运行应该什么都没有输出

{:5_106:}那道题的字符太多了,我就没把字符复制进去,o(╥﹏╥)o
页: [1]
查看完整版本: 字符串处理,python20讲第二题编程题