我以前可以让我的10个字符的字符串包含大小写字母,以及数字。现在我得到的只是一串小写字符。我改错了什么?你知道吗
import random
import math
def randstr():
x=0
a = ('abcdefghijklmnopqrstuvwxyz')
b = ('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
c = ('0123456789')
rs = (random.choice(a)) + (random.choice(a)) + (random.choice(a)) + (random.choice(a)) + (random.choice(a)) + (random.choice(a)) + (random.choice(a)) + (random.choice(a)) + (random.choice(a)) + (random.choice(a))
print rs
if rs[0] in b:
x += 1
if rs[0] in a:
x += 1
elif rs[1] in a:
x += 1
elif rs[2] in a:
x += 1
elif rs[3] in a:
x += 1
elif rs[4] in a:
x += 1
elif rs[5] in a:
x += 1
elif rs[6] in a:
x += 1
elif rs[7] in a:
x += 1
elif rs[8] in a:
x += 1
elif rs[9] in a:
x += 1
if rs[1] in b:
x -= 2
elif rs[2] in b:
x -= 2
elif rs[3] in b:
x -= 2
elif rs[4] in b:
x -= 2
elif rs[5] in b:
x -= 2
elif rs[6] in b:
x -= 2
elif rs[7] in b:
x -= 2
elif rs[8] in b:
x -= 2
elif rs[9] in b:
x -= 2
if rs[0] in c:
x -= 2
if rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[1] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[2] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[3] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[4] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[5] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[6] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[7] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [8] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[8] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [9] in a:
x -= .25
elif rs[9] in c:
x -= 2
if rs [0] in a:
x -= .25
elif rs [1] in a:
x -= .25
elif rs [2] in a:
x -= .25
elif rs [3] in a:
x -= .25
elif rs [4] in a:
x -= .25
elif rs [5] in a:
x -= .25
elif rs [6] in a:
x -= .25
elif rs [7] in a:
x -= .25
elif rs [8] in a:
x -= .25
return rs
print randstr()
randstr()
因为
a
只包含小写字母,所以rs
也是。你知道吗你的问题的答案为什么会改变,是因为你只是从你的
a
中挑选。你知道吗有一种更简单的方法:
对
rs
的赋值只选择a
中的值,因此字符串中不会出现任何大写字母或数字。你知道吗相关问题 更多 >
编程相关推荐