Python随机将字符串字符转换为大写字母
在本篇文章中,我们将学习如何使用Python随机将字符串中的字符转换为大写字母。
所用方法
以下是完成此任务的各种方法:
- 使用join(),choice(),lower(),upper()函数。
-
使用random.randInt()和random.sample()函数。
-
使用map(),choice(),zip()函数
实例
假设我们已经输入一个 输入字符串 。现在,我们将使用上述方法随机将输入字符串的字符转换为大写字母。
输入
inputString = 'tutorialspoint'
输出
随机转换字符为小写字母或大写字母后的字符串:
tUToriaLsPOINT
在这个例子中,我们随机将输入字符串“ tutorialspoint ”的字符转换为大写字母。
方法1:使用join(),choice(),lower(),upper()函数
lower − 将字符串中所有大写字符转换为小写字符。
random.choice() 函数(从序列中如列表,元组,数字范围随机选择项目)。
upper − 将字符串中所有小写字符转换为大写字符。
join() − join()是Python中用于连接使用字符串分隔符分隔的序列元素的字符串函数。此函数连接序列元素以转换为字符串。
算法(步骤)
以下是执行所需任务所需遵循的算法/步骤:
- 使用import关键字从random模块导入 choice 函数。
-
创建一个变量以存储输入字符串。
-
打印输入的字符串。
-
遍历输入字符串的每个字符,并使用random.choice()随机选择字符为大写或小写字符。此处使用join将其转换为字符串
-
打印将输入字符串的字符随机转换为大写字母后的结果字符串
实例
以下程序使用join(),random.choice(),lower,和upper函数,返回一个将输入字符串字符随机转换为大写字母后的字符串 –
# 从random模块中导入choice函数
from random import choice
# 输入字符串
inputString = 'tutorialspoint'
# 打印输入字符串
print("输入字符串:", inputString)
# 遍历一个字符串中的每个字符并选择
# 随机选择大写或小写字符
# 用join连接为字符串
randchars_str = ''.join(choice((str.upper, str.lower))(char) for char in inputString)
# 打印在随机转换字符为大写字母或小写字母后的结果字符串
print("随机转换字符为小写字母或大写字母后的字符串:\n", randchars_str)
输出
在执行上述程序后,将生成以下输出 –
输入字符串: tutorialspoint
随机转换字符为小写字母或大写字母后的字符串:
tUTORIAlSPOInT
方法2:使用random.randInt()和random.sample()函数
random. randint() 方法:返回指定范围内的随机数。
random.sample() 方法:返回包含从序列中随机选择的元素数量的列表。
语法
random.sample(sequence, k)
算法(步骤)
以下是执行所需任务所需遵循的算法/步骤 –
- 使用list()函数将给定的输入字符串转换为列表。
-
使用random.randInt()函数计算需要转换为大写字母的随机索引数。
-
通过将列表长度和所需元素数作为参数传递给random.sample()函数获取上述n个从0到列表长度的随机元素。
-
将上述索引保存到一个列表中,名为randomIndexList。
-
使用for循环遍历以上randomIndexList。
-
使用upper()函数将该索引处的字符串元素转换为大写字母。
-
使用join()函数连接列表中的所有元素并转换为字符串。
-
打印结果。
示例
下面的程序将在随机将输入字符串中的字符转换为大写字母后返回一个字符串:
import random
# 输入字符串
inputString = 'tutorialspoint'
# 打印输入字符串
print("输入字符串:", inputString)
# 将字符串转换为列表
stringList = list(inputString)
# 获取要转换为大写字母的随机索引数
n = random.randint(0, len(stringList)-1)
# 从0到列表长度获取n个以上的随机元素
randomIndexList = random.sample(range(0, len(stringList)-1), n)
# 遍历上面的索引列表
for index in randomIndexList:
# 将对应索引的字符串元素转换为大写字母
stringList[index] = stringList[index].upper()
# 连接列表中的所有元素并转换为字符串
result = ''.join(stringList)
# 打印将字符随机转换为大写和小写的结果字符串
print("将字符随机转换为大写和小写后的字符串:\n", result)
输出
执行上述程序后,将生成以下输出:
输入字符串:tutorialspoint
将字符随机转换为大写和小写后的字符串:
tUToriaLsPOINT
方法三:使用map()、choice()和zip()函数
random.choice() 函数(从类似于列表、元组、数字范围的序列中随机选择一项)。
random.choice(sequence)
zip() 函数用于组合两个列表/迭代器。
算法步骤
执行以下算法/步骤来执行所需任务:
- 使用导入关键字从random模块中导入choice函数。
-
使用zip函数将字符串的小写和大写字符组合在一起,然后使用random.choice()方法从中选择一个。
-
使用map()函数将这个方法应用于字符串的所有元素。
-
使用join()函数将此map对象转换为字符串。
-
打印随机将输入字符串中的字符转换为大写字母后的结果字符串。
示例
下面的程序将使用map()、random.choice()和zip()函数,在随机将输入字符串中的字符转换为大写字母后返回一个字符串:
# 从random模块中导入choice函数
from random import choice
# 输入字符串
inputString = 'tutorialspoint'
print("输入字符串:", inputString)
# 对每个字符应用方法,并选择对应字符的大小写
randchars_str = ''.join(map(choice, zip(inputString.lower(), inputString.upper())))
# 打印随机将输入字符串中的字符转换为大写字母后的结果字符串
print("将字符随机转换为大写的字符串:\n", randchars_str)
输出
在执行上述程序后,将生成以下输出 –
输入字符串:tutorialspoint
在将字符随机转换为小写或大写后的字符串:
TutoRIaLsPoInt
结论
本文介绍了三种不同的方法来将字符串中的随机字母转换为大写字母。我们还学习了如何使用randInt()生成随机整数,使用sample()生成n个随机数字作为列表,并使用choice()随机选择一个项目。