如何解决Python打印设置的所有可能性
a_a = ['hey,','Hello,'Hi,']
a_b = 'this is a random sentence! '
a_c = ['Bye! ','Bye,bye! ','Goodbye! ']
sentence = a_a[secrets.randbelow(3)] + a_b + a_c[secrets.randbelow(3)]
实际代码要大得多。我需要一种将所有可能的句子打印出来或将其保存到文本文件中的方法。有人能帮我吗?我迷路了。
解决方法
仅使用普通的python:
a_a = ['Hey,','Hello,'Hi,']
a_b = 'this is a random sentence! '
a_c = ['Bye! ','Bye,bye! ','Goodbye! ']
for element_a in a_a:
for element_c in a_c:
print(element_a + a_b + element_c)
使用itertools
进入一个遍历所有组合的循环:
import itertools
a_a = ['Hey,'Goodbye! ']
for element_a,element_c in itertools.product(a_a,a_c):
print(element_a + a_b + element_c)
如果要将其保存到文件中,请用其他方式替换print
语句,例如将组合写入文件的命令。
如果要保留在默认python中,请执行以下操作:
a_a = ['Hey,'Goodbye! ']
sentence = a_a[secrets.randbelow(3)] + a_b + a_c[secrets.randbelow(3)]
##added code
ops1 = len(a_a)
ops2 = len(a_c)
allOps = ops1 * ops2
index1 = 0
index2 = 0
for allOps in range(0,allOps):
post = a_a[index1] + a_c[index2]
print(post)
index2+=1
if index2 == ops2:
index2 = 0
index1+=1
此代码是可复制且可粘贴的,不需要诸如intertools之类的附加内容
如果您不在学校,请选择:
for element_num in num:
for element_let in let:
print(element_num + element_let)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。