如何根据百分比概率生成伪随机字符串?
How to generate pseudo random string based on percentage probability?
我是 python 编程新手,目前正在研究 python 随机模块以根据概率生成伪随机字符串。
我需要根据获得字符串“hello”的概率为 50% 的概率获取随机字符串。
我已经尝试在网上找到解决方案,但运气不好,浪费了很多时间。
如果有人对我的问题有任何想法,请告诉我。
有很多方法可以做到这一点。这是一个:
import random
print(random.choice(['hello','other']))
如果你想让另外50%的时间得到随机字符串,你可以这样做:
import random
r = random.choice(['hello','other'])
if r == "other":
print(''.join(random.sample("abcdefghijklmnopqrstuvwxyz", 5)))
else:
print(r)
另一种方法是使用 numpy.random.choice,它允许您分配权重以确定从列表中选择元素的可能性。
import numpy as np
greetings = ['hello', 'good-bye', 'good morning', 'see you later', 'hi', 'bye']
weights = [0.5, 0.1, 0.1, 0.1, 0.1, 0.1]
result = np.random.choice(greetings, p=weights)
print(result)
通过随机取两个数字。两者中的任何一个都有 50% 的几率被选中。所以其中一个数字代表字符串“hello”,另一个数字代表另一个字符串
举个简单的例子:
import random
a = random.randint(1, 2)
if a == 1:
print("hello")
else:
print("bye")
如果您希望另一个词是随机的,我可以建议 2 个可能的选项:
- 创建一个包含全名的列表并随机取一个。
- 安装一个可以创建随机词的内置库,如库:random-word
对于第一个选项,我在这里提到了一个代码示例:
import random
other_words = ["whats up", "No problem", "See you later", "bye", "busy", "where are you", "have fun", "great"]
a = random.randint(1, 2)
if a == 1:
print("hello")
else:
print(random.choice(other_words))
我是 python 编程新手,目前正在研究 python 随机模块以根据概率生成伪随机字符串。
我需要根据获得字符串“hello”的概率为 50% 的概率获取随机字符串。
我已经尝试在网上找到解决方案,但运气不好,浪费了很多时间。
如果有人对我的问题有任何想法,请告诉我。
有很多方法可以做到这一点。这是一个:
import random
print(random.choice(['hello','other']))
如果你想让另外50%的时间得到随机字符串,你可以这样做:
import random
r = random.choice(['hello','other'])
if r == "other":
print(''.join(random.sample("abcdefghijklmnopqrstuvwxyz", 5)))
else:
print(r)
另一种方法是使用 numpy.random.choice,它允许您分配权重以确定从列表中选择元素的可能性。
import numpy as np
greetings = ['hello', 'good-bye', 'good morning', 'see you later', 'hi', 'bye']
weights = [0.5, 0.1, 0.1, 0.1, 0.1, 0.1]
result = np.random.choice(greetings, p=weights)
print(result)
通过随机取两个数字。两者中的任何一个都有 50% 的几率被选中。所以其中一个数字代表字符串“hello”,另一个数字代表另一个字符串
举个简单的例子:
import random
a = random.randint(1, 2)
if a == 1:
print("hello")
else:
print("bye")
如果您希望另一个词是随机的,我可以建议 2 个可能的选项:
- 创建一个包含全名的列表并随机取一个。
- 安装一个可以创建随机词的内置库,如库:random-word
对于第一个选项,我在这里提到了一个代码示例:
import random
other_words = ["whats up", "No problem", "See you later", "bye", "busy", "where are you", "have fun", "great"]
a = random.randint(1, 2)
if a == 1:
print("hello")
else:
print(random.choice(other_words))