随机选择小写和大写,而无需手动添加

时间:2019-06-24 07:40:49

标签: python

我想创建一个包含字母的列表/数组,然后让我的程序选择其中一个,但我希望它随机地大小写

我可以使用:

<?xml version="1.0" encoding="utf-8"?>
<de.jobnetzwerk.jobnet.SwipeRevealLayout
    ...

但是有一种方法可以只在列表中添加一个字母,然后让程序随机对大写字母进行随机化

4 个答案:

答案 0 :(得分:2)

您可以使用str.upper创建大写字符列表,并对此进行random.choice

此外,由于list是python的内置名称,因此请勿将其用作变量

import random

#List of lowercase characters
li = ["a", "b"]

#Add list of all uppercase characters to original list
li += [item.upper() for item in li]
#['a', 'b', 'A', 'B']

print(random.choice(li))

此外,还有一种更简单的方法,无需使用注释{@ 3}按照注释中的@deceze创建所有字母的列表,该列表是大写字母和小写的ASCII字母

import string
print(random.choice(string.ascii_letters))

答案 1 :(得分:0)

您可以编写一个简单的函数来对每个字母或完整的文本执行此操作:

import random

def random_case(text):
    return text.upper() if random.randint(0,1) == 1 else text.lower()

your_list.append(random_case("a"))

答案 2 :(得分:0)

如果您可以在初始列表中同时包含大写和小写字母,并且希望涵盖所有选项,那么我将提供解决方案。这个想法是,您随机选择一个,然后随机选择对其进行容量化或降低。

from random import choice, getrandbits

res = choice(my_letters).lower() if getrandbits(1) else choice(my_letters).capitalize()

所以假设:

my_letters = ['x', 'L']

您可以以相同的概率获得'x''X''L''l'的全部四个。


请注意,here

详细说明了我使用getrandbits的原因。

答案 3 :(得分:-1)

这也可以工作:

import numpy as np

letters = ["a","b","c"]
choice = np.random.choice(letters)

if np.random.uniform(0,1) < 0.5:
    choice = choice.upper()