潜沙56988 发表于 2022-5-26 21:03:53

课后20 为什么和小甲鱼不一样

cc = '''ACFlCTLIQlAIVMTqHFkswqbDDHtpgcWaXSSglUYKE
lqNsYCyaQXBzrFUbkAUAWAKrDgDtA'''
n = len(cc)
mi = ''

for i in range(n-7):
   
   
    if   cc == '\n':
      continue
    elif cc.isupper():
      if cc=='\n':
            continue
      elif cc.isupper():
            if cc=='\n':
                continue
            elif cc.isupper():
                if cc=='\n':
                  continue
                elif cc.islower():
                  if cc=='\n':
                        continue
                  elif cc.isupper():
                        if cc=='\n':
                            continue
                        elif cc.isupper():
                            if cc=='\n':
                              continue
                            elif cc.isupper():
                              mi = mi+ cc
                           
   
print('密码',mi)

密码llpuiallouovvhezfbilbjiirmsqqxthtgcnkdljoasncexw

求教给位大佬 为什么我得到的答案和小甲鱼不一样
                              

jackz007 发表于 2022-5-26 21:06:46

本帖最后由 jackz007 于 2022-5-26 21:28 编辑

      你应该先交代一下题目内容和要求
cc = '''ACFlCTLIQlAIVMTqHFkswqbDDHtpgcWaXSSglUYKE
lqNsYCyaQXBzrFUbkAUAWAKrDgDtA'''
s , p = 'a' + '' . join(cc . split('\n')) + 'a' , ''
for k in range(4 , len(s) - 4):
    if s . islower() and s . isupper() and s . islower() and s . isupper() and s . islower():
      p += s
print(p)

森亦简 发表于 2022-5-26 21:18:59

好巧,我也在做这道题。
应该是只考虑了小写字母前后三个字母是大写的,没考虑再往前和再往后的一个字母不能是大写的
还有文本里是有空格的,应该要跳过这些空格

森亦简 发表于 2022-5-26 21:52:38

def count(x):
   for i in range(len(x)):
       if x.islower() and x.isupper() and x.isupper() and not x.isupper() and not x.isupper():
         print(x,end="")


这是我写的,我把空格都删了就是正确答案了
但是在程序里,我也不知道怎么跳过这些空格{:10_266:}{:10_266:}

潜沙56988 发表于 2022-5-26 22:18:55

森亦简 发表于 2022-5-26 21:52
这是我写的,我把空格都删了就是正确答案了
但是在程序里,我也不知道怎么跳过这些空格{:10 ...

反斜杠加n 就是空格这样写好像就只判断第一个字母是不是大写吧?我记得    这题我都蒙了也不知道那错了

潜沙56988 发表于 2022-5-26 22:22:22

森亦简 发表于 2022-5-26 21:52
这是我写的,我把空格都删了就是正确答案了
但是在程序里,我也不知道怎么跳过这些空格{:10 ...

刚试了一下 还真差个空格

潜沙56988 发表于 2022-5-26 22:24:53

jackz007 发表于 2022-5-26 21:06
你应该先交代一下题目内容和要求

就是课后Python20课的最后动手试一试,看了你们的方程感觉这题的要求有点不严谨了都

Twilight6 发表于 2022-5-27 09:54:22

潜沙56988 发表于 2022-5-26 22:18
反斜杠加n 就是空格这样写好像就只判断第一个字母是不是大写吧?我记得    这题我都蒙了也不知道那错了


\n 是换行符,不是空格,因为你字符在文本中有多行

所以导致每行最后一个 \n 换行符也会算入判断密码中,只需要在 if 中多加一个判断条件跳过 \n 即可

或者可以用字符串方法 .replace() 将 "\n" 换行符替换为 "" 空字符串即可

页: [1]
查看完整版本: 课后20 为什么和小甲鱼不一样