[英]Combinations of distinct integers without repetition
将所有可能的整数组合打印为嵌套列表的三个不同整数的 python 程序是什么? 该组合不应包含任何重复输入的整数,并且输入整数的总和和结果组合中整数的总和不应是 5 的倍数,均值排除所有其他总和为 5 的倍数的组合。
x=[int(input()),int(input()),int(input())]
s=[[i,j,k] for i in x for j in x for k in x if sum ([i+j+k])]
print(s)
我只是将a,b,c
作为输入并制作一个存储我的数据的临时列表,并为嵌套列表制作字典并将其作为整数作为键,这样我就可以递增它。 附加条件数据并根据您的条件放置不等于 5 的过滤器。
a=int(input("Enter first number:"))
b=int(input("Enter second number:"))
c=int(input("Enter third number:"))
col_index = 0
tmp_lst =[]
d={0:[]}
d[0].append(a)
d[0].append(b)
d[0].append(c)
for i in range(0,3):
for j in range(0,3):
for k in range(0,3):
if(i!=j&j!=k&k!=i):
col_index += 1
tmp_lst.append(i)
tmp_lst.append(j)
tmp_lst.append(k)
if sum(tmp_lst) != 5:
d[col_index] = tmp_lst
else:
continue
print(d)
您可以使用这个简单的方法:
from itertools import permutations
a=int(input("Enter first number:"))
b=int(input("Enter second number:"))
c=int(input("Enter third number:"))
comb = set(permutations([a, b, c], 3))
col_index = 0
tmp_lst =[]
for i in comb:
if sum(i) %5 != 0:
tmp_lst.append(list(i))
print(i)
print(tmp_lst)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.