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 (xx == (100+z)) and (yy == (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 n1 or n2:
    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,ij), 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  苏黎世的从前  阅读(260)  评论(0)    收藏  举报