字符串处理,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)
{:10_250:}help 如果打印出来的是uilovefisdhc的话就是老问题,原因是TXT里面的换行符和回车符也被当成了大写字母,所以有几个不符合要求的字符也被算进去了,办法是用replace方法把字符串中的内容替换成空字符。
另外,不要用有特殊含义的str作为变量名,这在编程中是大忌,同理list、tuple等也是避免用作变量名的。
string = string.replace('\n','').replace('\r','') 懂了,字符判断 isupper()和islower()只判断字母,遇到回车符号的时候不会判断,所以当有回车的时候也会认为是字符。C:\Users\Admin\Desktop\字符.png DC3339 发表于 2020-4-19 11:12
懂了,字符判断 isupper()和islower()只判断字母,遇到回车符号的时候不会判断,所以当有回车的时候也会 ...
另外你的代码应该没发全,如果按照发出来的代码运行应该什么都没有输出 Hoiste 发表于 2020-4-19 11:16
另外你的代码应该没发全,如果按照发出来的代码运行应该什么都没有输出
{:5_106:}那道题的字符太多了,我就没把字符复制进去,o(╥﹏╥)o
页:
[1]