acgods
发表于 2018-8-22 18:11:58
本帖最后由 acgods 于 2018-8-22 18:52 编辑
number1 =
count = 0
for i in number1:
for j in number1:
for k in number1:
if (i != j ) and (j != k) and (i != k):
print(i,j,k)
count += 1
print("这样的三位数字一共有:%d个" % count)
修改后的代码
number1 = range(1,5)
list1 = []
for i in number1:
for j in number1:
for k in number1:
if (i != j ) and (j != k) and (i != k):
temp = 100 * i + 10 * j + k
list1.append(temp)
print(list1)
print("这样的三位数字一共有:%d个" % len(list1))
A小小鸟
发表于 2018-8-29 16:38:53
新手·ing 发表于 2017-3-24 21:43
这是我的解答,欢迎大家一起交流。
楼主,你的if条件太麻烦了,看我的
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if(i !=j!=k):
print("所得的数字为",i,j,k)
直接出来
god圣锋
发表于 2018-9-3 12:12:05
count = 0
for i in range(1,5):
for n in range(1,5):
for j in range(1,5):
if i != n and i != j and n != j:
count += 1
print(i*100+n*10+j,' ',end = ' ')
if count % 5 == 0:
print('\n')
print('\n\n总共有%d个数' % count)
Tifinity
发表于 2018-9-12 00:33:58
s = 0
for a in range(1, 5):
for b in range(1, 5):
for c in range(1, 5):
if(a!=b and b!=c and a!=c):
print(a,b,c)
s += 1
print("一共有",s,"种")
_玛莎_
发表于 2018-9-12 16:08:27
count = 0
for i in range(1, 5):
for j in range(1, 5):
for k in range(1, 5):
if i != j and i != k and j != k:
print('%d%d%d' % (i, j, k))
count += 1
print(count)
龙战yl天下
发表于 2018-9-12 16:52:20
n=0
for i in range(1,5):
for j inrange(1,5):
for k in range(1,5):
if ((i!=j)and(i!=k)and (j!=k)):
n+=1
print(i*100+j*10+k)
print('n=',n)
多多指教
945318498
发表于 2018-9-13 11:38:18
a =
for b in a:
for c in a:
for d in a:
if b != c and c != d and b!=d:
f = str(b)+str(c)+str(d)
print(f)
我来强行不一样一下
whoam1python
发表于 2018-9-18 10:52:18
24
吃鱼的虾
发表于 2018-10-2 11:23:21
for i in range(1,5):
for m in range(1,5):
for n in range(1,5):
if i != m and i!=n and m!=n:
num=i*100+m*10+n
print(num)
liujian973
发表于 2018-10-6 18:01:10
for i in range(100,433):
i=str(i)
if len(set(i)) ==len(i) :
list_i =
if len(list_i)==3:print(i)
Cherish0
发表于 2018-10-12 17:09:56
list0 =
for hud in range(4):
a = list0*100
list1 = list0[:]
del list1
for ten in range(3):
b = list1*10
list2 = list1[:]
del list2
for num in range(2):
c = list2
print(a+b+c)
好嘛,我知道这很傻。。今天刚学了列表,于是就用列表来做的
看了五楼的答案,输出格式感觉不太正确,题目问的是三位数,五楼输出了三个数的排列,求大佬指导
Roc乘风
发表于 2018-10-13 12:06:43
本帖最后由 Roc乘风 于 2018-10-13 12:23 编辑
以下是我的答案:
num = 0
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if x != y != z :
print('{0}{1}{2}'.format(x,y,z))
num += 1
print("数字一共有{}个".format(num))
特别感谢大神给出的其他方案,学习到了itertools和 list 的一种变态写法,
Roc乘风
发表于 2018-10-13 12:30:18
A小小鸟 发表于 2018-8-29 16:38
楼主,你的if条件太麻烦了,看我的
for i in range(1,5):
for j in range(1,5):
这样得出来的结果好像是错误的,一共36 组, 其中包含像121这样的组合是不符合要求的,
请问下 这是为什么呢??
dicky4x
发表于 2018-10-17 13:11:14
list1=[(a,b,c) for a in range(1,5) for b in range(1,5) for c in range (1,5) if a != b !=c]
print(list1)
zhangjk19841984
发表于 2018-10-18 14:22:59
count=0
i=0
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if x != y and x != z and y != z:
a= 100 *x + 10 * y + z
i+=1
print('第{}个三位数是:{}'.format(i,a))
count+=1
print('列表中的元素总共有:',count,'个')
a1070211241
发表于 2018-10-19 00:31:59
本帖最后由 a1070211241 于 2018-10-19 00:48 编辑
num =
result = []
max = 433
min = 123
for n in range(min, max):
a = n // 100
b = n % 100 // 10
if b in num and a != b:
c = n % 10
if c in num and b != c and a != c:
result.append(n)
print('共有 %d 个数字' % len(result))
print(result)
总感觉我的代码量太长了
keys866
发表于 2018-10-19 11:26:19
ooxx7788 发表于 2017-3-24 22:17
投机取巧
SyntaxError: multiple statements found while compiling a single statement
FREELINETOM
发表于 2018-10-19 18:43:13
for x in range(1,5):
for y in range(1,5):
for z in range(1,5):
if x != y andx != z and y != z:
print(x,y,z)
I_love_fishc_tj
发表于 2018-10-26 16:45:03
刚学完for循环 和 range 函数~~上次过来看这个题目的时候, 对着答案看 都一脸糊涂~~~
谢谢每日一题~
一边学一边记一下函数的用法~
I_love_fishc_tj
发表于 2018-10-27 13:48:31
a = [(x,y,z) for x in range(1,5) for y in range(1,5) for z in range(1,5) if x != y !=z]
页:
1
2
3
4
5
6
7
8
[9]
10
11
12
13
14
15