Python 编程练习(1)

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

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(i,j,k)

题目二:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

import math
for z in range(-100,10000):
	x = int(math.sqrt(z+100))
	y = int(math.sqrt(z+268))
	if (x*x == (100+z)) and (y*y == (z+268)):
    	print(z)

题目三:输入某年某月某日,判断这一天是这一年的第几天?

import datetime
y = int(input('year:'))
m = int(input('month:'))
d = int(input('day:'))

targetDay = datetime.date(y, m, d)
print(targetDay - datetime.date(targetDay.year-1, 12, 31))

思路:python的datetime库刚好可以解决这道题。获取目标日期,然后减去上一年度的最后一天,就可以得出该日期是当年的第几天。

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

L =[]
for i in range(3):
	x = int(input("请输入一个整数:"))
	L.append(x)
L.sort()
print(L)

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

  • 方法一:

      def fib(n):
      	if n==1 or n==2:
      		return 1
      	return fib(n-1)+fib(n-2)
      #输出了第8个斐波那契数列
      print(fib(8))
    
  • 方法二:

      def fib(n):
      	if n == 1:
      		return [1]
      	if n == 2:
      		return [1, 1]
      	fibs = [1, 1]
      	for i in range(2, n):
      		fibs.append(fibs[-1] + fibs[-2])
      	return fibs
      #输出了8个斐波那契数列
      print(fib(8))
      [1, 1, 2, 3, 5, 8, 13, 21]
    

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

	a = [1, 2, 3]
	b = a[:]
	print b

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

for i in range(1,10):#设置行数循环次数
	for j in range(1,i+1):#设置每行单元循环次数
    	print('%d*%d=%d' % (j,i,i*j), end= ' ')#第一行到第九行的循环
	print() #用来分行

题目八:暂停两秒输出。(使用 time 模块的 sleep() 函数。)

import time

print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
time.sleep(2)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
posted @ 2019-03-25 18:49  苏黎世的从前  阅读(225)  评论(0编辑  收藏  举报