python,编写程序,输出所有由1,2,3,4这四个数字组成的素数,并且在每个素数中每个数字只能使用一次

x = []
y = []
for i in range(1, 5):
for j in range(1, 5):
for k in range(1, 5):
for l in range(1, 5):
if(i != k) and (i != j) and (i != l) and (j != k) and (j != l) and (k != l):
a = i * 1000 + j * 100 + k * 10 + l
x.append(a)
print(x)
print(len(x))
for b in x:
for c in range(2, b - 1):
if b%c == 0:
break
else:
y.append(b)
print(y)
为什么后面那个else的缩进和if的缩进不一样呢

def num_list():

list=[1,2,3,4]

list1=[]

for i in list:

for j in list:

if i==j:

continue

for k in list:

if(i==k)or(j==k):

continue

for n in list:

if(i==n)or(j==n)or(k==n):

continue

num=1000*i+100*j+10*k+n

list1.append(num)

return list1

def sushu(num):

for i in range(2,num):

if num%i==0:

return'false'

else:

continue

return'true'

if __name__=='__main__':

list1=num_list()

for i in range(len(list1)):

num=int(list1<i>)

if(sushu(num)=='true'):

print(num)

扩展资料:

printf()用法:

printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。函数的原型为:

int printf(const char*format,...);函数返回值为整型。若成功则返回输出的字符数,输出出错则返回负值。

printf()函数的调用格式为:

printf("&lt;格式化字符串&gt;",&lt;参量表&gt;);其中格式化字符串包括两部分内容:

一部分是正常字符,这些字符将按原样输出;

另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出;参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

规定符

%d十进制有符号整数

%u十进制无符号整数

%f浮点数

%s字符串

%c单个字符

%p指针的值

%e指数形式的浮点数

%x,%X无符号以十六进制表示的整数

%o无符号以八进制表示的整数

%g把输出的值按照%e或者%f类型中输出长度较小的方式输出

%p输出地址符

%lu 32位无符号整数

%llu 64位无符号整数

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-09
#编写程序,输出所有由1、2、3、4这四个数字组成的素数,并且在每个素数中每个数字只
import math
digits=(1,2,3,4)
x=[]
for i in digits:
for j in digits:
if j==i:
continue
else:
for k in digits:
if k==j or k==i:
continue
else:
x.append((i*100+j*10+k))
print("这是所有的情况:",x)
while i<len(x):
for k in range(1,int(math.sqrt(x[i]))):
if x[i]%k==0:
del x[i]
break
print("这是为素数的情况:",x)
第2个回答  2018-05-08
你这样实现不了,因为c取值只要满足下面判断不等于0就会输出一个数值,会有重复项追答

我这个有什么问题吗,为啥输出来有偶数?

本回答被网友采纳
相似回答