【Python】综合运用知识点,完成金额折扣、斐波那契数列等编程,结合递归方法

189 阅读2分钟

我正在参加「掘金·启航计划」

最近在学习python,如何快速提高所学编程和加深印象呢 很显然,通过多练习和尝试编写代码实现功能

  • 主要知识点列表 | 编号 | 语言或插件 | 知识点 | 说明 | | --- | --- | --- | --- | | 1 | python | %s | 字符出输出标识 | | 2 | python | 逻辑判断 | if-elif,python这个elif写法挺特别,一般都是else if,直接简写成了elif | | 3 | python | def | 定义方法关键词 |

【金额折扣计算编程】

  • 编程要求如下

编写程序,实现如下表所示的购货金额折扣计算

X(数量)Y(金额)备注
x<1010x10元每件
10<=x<209.5x9.5元每件
20<=x<409x9元每件
x>=408.5x8.5元每件
  • 分析 从题目可以知道,购买不同数量的商品,会有一定折扣,对应金额也就不一样,同时考查知识点如下

1)逻辑判断,if-elif

image.png

  • 代码
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 2022.06.15 14:34
import sys 

while True:
    print('请输入购买数量:')
    sum_price = 0 # 总金额
    x = int(input()) # 数量购买数量
    y = 10 # 金额默认10元/件
    if x < 10:
        y = 10
    elif x >= 10 and x < 20:
        y = 9.5
    elif x >= 20 and x < 40:
        y = 9
    elif x > 40:
        y = 8.5
    sum_price = y * x
    if x > 10:
        print('购买数量:%s,原价:10,折扣前总金额:%s' % (x,10 * x))
    print('购买数量:%s,折扣价:%s,折扣后总金额:%s' % (x,str(y),str(sum_price)))
    print('优惠金额:%s\r\n' % (10 * x - y * x))

【斐波那契数列编程】

  • 编程要求如下

写一个函数,给定N,返回斐波那契数列第n项。
斐波那契数列指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1,F(n)=F(n - 1)+F(n - 2)(n≥ 2,n∈ N)

  • 什么是斐波那契数列? 又称黄金分割数列,这个数列从第3项开始,每一项都等于前两项之和

  • 分析 知道上面概念后,就知道应该如何编程了

1)先定义一个方法,使用递归方法生成一组斐波那契数列,然后返回第n项值

image.png

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 2022.06.15 14:34
import sys 

arr = []
start_value = 1
index = 0
def createData(index,N):
    if index == 0 or index == 1:
        arr.append(1)
    else:
        arr.append(arr[index - 1] + arr[index - 2])
    index+=1
    if index>N:
        return arr
    else:
        return createData(index,N)

while True:
    print('请输入斐波那契数列长度N:')
    L = int(input())
    N=createData(index,L)
    print('数列值:%s' % N)
    
    print('请输入斐波那契数列第n项值:')
    n = int(input())
    print('第%s项值:%s' % (n,N[n-1]))