Python100例[Python3实现]

教程上的100例是Python2实现的,Python官方很快就不再维护了,以后都是Python3,这里我使用Python3来实现这100例。哪里有不当之处,还望广大网友提出意见或建议。

1. Python 练习实例1

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

sum = 0
for i in range(1,5):
    for j in range(1,5):
        for z in range(1,5):
            if i!=j and j!=z and i!=z:自尊自责自在最早在自尊自责自自尊自责自自尊自责自自尊自责自在最早在自尊自责自自尊自责自自尊自责自自尊自责自最早在自尊自责自最早在
                sum += 1
                print(i,j,z)
print(sum)
2. Python 练习实例2

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

profit = int(input('请输入当月利润:'))
bonus = [1000000, 600000, 400000, 200000, 100000, 0]
rate = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
sum = 0
for i in range(0, 6):
    if profit > bonus[i]:
        sum += (profit - bonus[i]) * rate[i]
        profit = bonus[i]
print(sum)
3. Python 练习实例3

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


4. Python 练习实例4

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

year = int(input('请输入年份:'))
month = int(input('请输入月份:'))
day = int(input('请输入日:'))
# 这里省略对输入数据的规范性做判断
months_list = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334]
sum = 0
if 0 < month < 12:
    sum = months_list[month - 1]
sum += day
tmp = 0
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0):
    tmp = 1
if tmp == 1 and month > 2:
    sum += 1
print('这一天是这一年中的第%d天' % sum)

运行记录:

请输入年份:2019
请输入月份:2
请输入日:1
这一天是这一年中的第32
5. Python 练习实例5

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

lst = []
for i in range(3):
    val = eval(input('请输入第%d个数:' % (i + 1)))
    lst.append(val)
lst.sort(reverse=False)  # 默认是False,升序排列
for i in lst:
    print(i)

运行记录:

请输入第1个数:12
请输入第2个数:45
请输入第3个数:36
12
36
45
6. Python 练习实例6

题目:实现斐波那契数列,获取第n个斐波那契数?(我们这里认为斐波那契数列的第一个数是1不是0)

def fibo_seq(n):
    a, b = 1, 1
    for i in range(n - 2):  # 执行n-2返回b比执行n-1返回a少执行一次,提高了效率
        a, b = b, a + b
    return b
    
print(fibo_seq(10)) # 55

使用递归来实现:

def fibo_seq(n):
    if n == 1 or n == 2:
        return 1
    return fibo_seq(n - 2) + fibo_seq(n - 1)

print(fibo_seq(10))

如果需要输出指定个数的斐波那契数列:

# def fibo_seq(n):
#     if n == 1 or n == 2:
#         return 1
#     return fibo_seq(n - 2) + fibo_seq(n - 1)
#
#
# print(fibo_seq(10))
def fibo_seq(n):
    if n == 1:
        return [1]
    if n == 2:
        return [1, 1]
    lst = [1, 1]
    for i in range(2, n):
        lst.append(lst[-1] + lst[-2])
    return lst

print(fibo_seq(10))

运行记录:

[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
7. Python 练习实例7

题目:将一个列表的数据复制到另一个列表中,使用列表[:]

lst1 = [1, 2, 3, 4, 5, 6]
lst2 = lst1[:]
print(lst2)

解析:通过lst1[:]分割结果是lst1中的所有元素。

8. Python 练习实例8

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

for i in range(1, 10):
    for j in range(1, i + 1):
        print('%dx%d=%d' % (j, i, i * j), end=' ')
    print()

一行代码输出九九乘法表:

print('\n'.join([' '.join('%dx%d=%d' % (j, i, i * j) for j in range(1, i + 1)) for i in range(1, 10)]))
# 或者(内层加不加[]都没关系)
print([' '.join(['%dx%d=%d' % (j, i, i * j) for j in range(1, i + 1)]) for i in range(1, 10)])

运行记录:

1x1=1 
1x2=2 2x2=4 
1x3=3 2x3=6 3x3=9 
1x4=4 2x4=8 3x4=12 4x4=16 
1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 
1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 
1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 
1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 
1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 
9. Python 练习实例9

题目:暂停一秒输出,使用 time 模块的 sleep() 函数实现。

from time import sleep

lst = [1, 2, 3, 4, 5, 6]
for i in lst:
    print(i)
    sleep(1)
10. Python 练习实例10

题目:暂停一秒输出,并格式化当前时间。

from time import sleep
from datetime import datetime

print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
sleep(1)
print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
15. Python 练习实例15

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

score = float(input('请输入一个分数:'))
if score >= 90:
    grade = 'A'
elif score >= 60:
    grade = 'B'
else:
    grade = 'C'
print('您得到一个:%s' % grade)

执行流程:

请输入一个分数:90
您得到了一个:A
发布了54 篇原创文章 · 获赞 138 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/Thanlon/article/details/102994738