python示例

本文介绍了多个Python编程实例,包括数字组合、个税计算、完全平方数的寻找、日期计算、冒泡排序和斐波那契数列的实现,以及兔子繁殖问题的解决。通过这些实例,读者可以深入理解Python的基础语法和算法应用。
摘要由CSDN通过智能技术生成

新闻

  1. 比赛新闻

python示例

1. 实例001:数字组合

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

2. 实例002:“个税计算”

题目 企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

3. 实例003:完全平方数,视频

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

假设该数为x,则:
x + 100 = n 2 (1) x + 100 = n^2 \tag1 x+100=n2(1)
x + 100 + 168 = m 2 (2) x + 100 + 168 = m^2 \tag2 x+100+168=m2(2)

计算等式: m 2 − n 2 = ( m + n ) ( m − n ) = 168 (3) m ^2 - n ^2 = (m+n)(m-n) = 168 \tag3 m2n2=(m+n)(mn)=168(3)

设: i = m + n , j = m − n (4) i = m + n ,\qquad j = m - n \tag4 i=m+n,j=mn(4)

那么, i ∗ j = 168 i * j = 168 ij=168, i和j至少一个是偶数

由(4)得到:

m = i + j 2 (5) m = \dfrac{i+j}{2}\tag5 m=2i+j(5)
n = i − j 2 (6) n = \dfrac{i-j}{2}\tag6 n=2ij(6)

由(5)和(6)可知,i和j要么都是偶数,要么都是奇数

由此可推导出,i与j均是大于等于2的偶数。

由于 i ∗ j = 168 , j > = 2 则 1 < i < 168 2 + 1 i * j = 168,\quad j>=2 \quad 则 1 < i < \dfrac{168}{2} +1 ij=168j>=21<i<2168+1

那么就可以对所有数字循环计算。
代码:

# -*- coding: UTF-8 -*-
for i in range(1, 85):
    if 168 % i == 0:
        j = 168 / i
        if i>j and (i-j) % 2 == 0 and (i + j) % 2 ==0:
            m = (i+j) / 2
            n = (i - j) / 2
            x = n * n - 100
            print(x)

4. 实例004:这天第几天, 视频地址

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

5. 三数排序,视频地址

冒泡排序:
1. 要找出n-1个数(从大到小一次查找)
2. 假如:第1个大数(最大),从头开始,依次与后面的一个数比较,一直到第n-1位置的数与第n位置的数比较。最大的数就放在第n的位置。比较n-1
3. 如果,已经找出了m的大数,下一次的比较,就是在找出m个大数的基础上进行比较,就是要在n-m个数中比较,比较的次数是n-m-1
代码:

arr = [9, 4, 7, 3, 1, 8]
n = len(arr)
for i in range(0,n-1):  # range(1,n) = {1,2,...,n-1},range(0,n-1) = {0,1,...,n-2}
    for j in range(0,n-i-1):
        if arr[j] > arr[j+1]:
            arr[j],arr[j+1] = arr[j+1],arr[j]
    print('找到第',i+1,"个大数时,排列顺序为:",arr)        
    
  1. 斐波那契数列,视频地址
    题目 :输出斐波那契数列第n项的值。
    程序分析: 斐波那契数列(Fibonacci sequence),从1,1开始,后面每一项等于前面两项之和。

重点:可以用递归实现,也可以用循环实现。
a 1 = 1 , a 2 = 1 , a 3 = a 1 + a 2 , . . . , a n = a n − 2 + a n − 1 a_1 = 1, a_2 =1, a_3 = a_1 + a_2,..., a_n = a_{n-2}+a_{n-1} a1=1,a2=1,a3=a1+a2,...,an=an2+an1
方法1

n = int(input('please input a number of squence: '))
a = 1
b = 1
if n >2:
    for i in range(3,n+1):
        cur =  a + b
        a = b
        b= cur
    print(cur)

方法2

n = int(input('please input a number of squence: '))
a = 1
b = 1
if n >2:
    for i in range(3,n+1):
        a,b=b,a+b
    print(b)

7. 实例011:养兔子

视频:地址
题目: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

**程序分析**:
[点击这里查看](https://gitee.com/acktomas/teach/blob/master/python/07_%E5%85%BB%E5%85%94%E5%AD%90.ipynb)

**代码**:
**递归算法**
def rabbits(n):
    if n < 3 and n > 0:
        return 1
    else:
        return rabbits(n - 1) + rabbits(n - 2)
month = int(input('当前月份:'))
for i in range(1, month + 1):
    num = rabbits(i)
    print('第%d月,兔子数量为%d对。'%(i, num))

循环的另一种解法

month=int(input('繁殖几个月?: '))
month_1=1    #兔龄为1个月的兔子数量
month_2=0    #兔龄为2个月的兔子数量
month_3=0    #兔龄为3个月的兔子数量
month_elder=0  #成年
for i in range(month):
    month_elder = month_elder + month_3
    month_3 = month_2
    month_2 = month_1
    month_1 = month_elder + month_3  # 
    # month_1, month_2, month_3, month_elder = month_elder+month_3, month_1, month_2, month_elder+month_3
    print('第%d个月共'%(i+1),month_1+month_2+month_3+month_elder,'对兔子')
    print('其中1月兔:',month_1)
    print('其中2月兔:',month_2)
    print('其中3月兔:',month_3)
    print('其中成年兔:',month_elder)

08:100到200的素数

视频地址

题目: 判断101-200之间有多少个素数,并输出所有素数。
程序分析地址

09: 水仙花数和分解质因数

视频:地址
水仙花说明:地址

分解质因数文档:地址

11. 完数

文档地址:地址
视频: 地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔚蓝慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值