python之简单题目(1)

1、题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。

 

# -*- coding: UTF-8 -*-

count=0

for i in xrange(1,5):

    for j in xrange(1,5):

        if i!=j:

            for k in xrange(1,5):

                if k!=i and k!=j:

                    count=count+1

                    print str(100*i+10*j+k)+'\n'

print 'count='+str(count)

 

2、题目:输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

# -*- coding: UTF-8 -*-

x,y,z=raw_input('input 3 numbers:').split()

l=[]

l.append(int(x))

l.append(int(y))

l.append(int(z))

l.sort()

print l

 

3、题目:斐波那契数列

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。

答:

# -*- coding: UTF-8 -*-

l=[]

l.append(0)

l.append(1)

for i in xrange(2,100):

    l.append(l[i-1]+l[i-2])

print l

 

python之简单题目(1)_第1张图片

 

4、题目:将一个列表的数据复制到另一个列表中。

程序分析:使用列表[:]。

可区分深复制和浅复制的区别

# -*- coding: UTF-8 -*-

#skin copy

x=[1,2,3,5,6]

y=x

print y

x.append(7)

print y

 

#deep-copy

x=[1,2,3,5,6]

z=x[:]

print z

x.append(7)

print z

 

5、题目:输出 9*9 乘法口诀表。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

# -*- coding: UTF-8 -*-

#9*9

for i in xrange(1,10):

    for j in xrange(1,i+1):

        print '%1d*%1d=%2d    ' %(i,j,i*j),

    print '\n'

你可能感兴趣的:(python学习)