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())))