如何将备用列表项更改为大写?

时间:2014-10-13 09:20:59

标签: python list python-2.7

我需要帮助改变弱密码的学校项目,以便它们具有相同数量的大写和小写。

我尝试使用for循环来定位0和一半长度之间的每个字母:

lengthhalf=length/2
if upcount != lowcount:
    str.lower(psswd[0:lengthhalf])

    print psswd

我还将lengthhalf+1定位到length -

str.upper(psswd[lengthhalf+1::length])

但它不会影响任何事情。

2 个答案:

答案 0 :(得分:1)

psswd = psswd[:lengthhalf].lower() + psswd[lengthhalf:].upper()

应该做你可能想做的事情。

我不确定你想用奇怪的“密码”做什么。

代码中的问题是:

  • lower()/ upper()的结果未分配给任何内容,因此丢失了
  • some_list [begin :: step],例如有两个冒号是有效的,但最后一个值是步骤而不是结束

答案 1 :(得分:0)

你的规范可以有不同的解释,但是下面应该通过第一次分成两个具有备用项目的列表,然后再将它们重新交织在一起来完成这个技巧:

pwd = "absdef"
pwd = list(pwd)
l1 = pwd[::2]
l1 = [c.upper() for c in l1]
l2 = pwd[1::2]
l2 = [c.lower() for c in l2]
new_pwd_list = [val for pair in zip(l1, l2) for val in pair]
print "".join(new_pwd_list)

可能不会以有意义的方式处理非数字字符,但它会让你交替使用。