python练习案例100例(每天坚持一粒,按时服下)
题目1:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
答案:
for i in range(1,5): #在1-4中随机选出一个数赋值给i
for k in range(1,5): #重复步骤赋值给k
for j in range(1,5): #赋值给j
if (i != k) and (i != j) and (k != j): #判断若互不相同则为Ture并打印
print(i,j,k)
我的版本:
m=(1,2,3,4)
a=0
for i in m:
for j in m:
for k in m:
if i!=j and i!=k and j!=k:
n=100*i+10*j+k
a=a+1
print(n,end=' ')
print("组合方式一共有%d种" % a)
其实大差不差,不过刚懂了点打印print的一点皮毛。然后飘了就,本来这题就很简单,可能学了后面还会有更简单的方法吧,只是现在咱啥也不会。不过就这题来说,刚刚写代码的时候突然就想了个问题,缺了点交互的方式,只写1,2,3,4太不刺激了,得随便输入四个整数,然后输出排列的个数(不是重复的四个数)我觉得目前我重复的可能会自闭,先易后难嘛这不。代码如下:
a=input('请输入若干个小于十的不同整数')
n=0
for i in a:
i = int(i) #str型换成int型
for j in a:
j=int(j)
for k in a:
k=int(k)
if i!=j and i!=k and j!=k:#判断语句
m =100*i+10*j+k
n=n + 1
print(m)
print('%d个数字组成三位数一共为%d种排列方法' % (len(a) , n))
刚学第一天 ,只会for while 循环 和 if 判断语句, 脑海里有好多想法来着,可是都试过了得不到结果,反而报了一堆错,下次一定写一行就运行一下,有一波 写了一大半然后运行打印不出来,找半天才发现if语句条件错了。下次一定记着!!!