我想创建一个包含字母的列表/数组,然后让我的程序选择其中一个,但我希望它随机地大小写
我可以使用:
<?xml version="1.0" encoding="utf-8"?>
<de.jobnetzwerk.jobnet.SwipeRevealLayout
...
但是有一种方法可以只在列表中添加一个字母,然后让程序随机对大写字母进行随机化
答案 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()