小甲鱼Python第20将课后题动动手第一题
本帖最后由 office 于 2020-2-13 16:32 编辑def passwd(x):
xi = 'abcdefghigklmnopqrstuvwxyz'
da = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
str1 = []
length = len(x)
for i in range(length):
if x == '\n':
continue
elif(x in da) and (x in da) and (x in da) and (x in da) and (x in da) and (x in da) and (x in xi):
str1.append(x)
return ''.join(str1)
x = input()
print(passwd(x))
这是动动手第一题我写的答案,在群里有位“Python有关问题问@我”回答了一下我的问题,但是问题没有回答全面,
这是他给的答案:
但是他没有回答,有限几个字母为什么不报错,在字母较多时才报错,
求解答~~~
建议在for i in range(length)下加
if i < 3:
continue
另外,input函数只能读取第一行内容,即
你输入
abcusacnbus
bxcvnidrnir
它只读取abcusacnbus 1 找到问题了,因为我是的段字符串最后三位是大写所以没报错,与字符串长短没关系,与字符串的后三个字母大小有问题
字符再多,后三位是大写同样可以出来
字符再少,后三位任意一个是小写也出不来
还有,在字符串检查时,如果i = 0 时,得出的结果还是字符串的第一位,如果i = 最后一位,时,则会报错
最后感谢群友们的答案,在这里表示感谢
页:
[1]