Python 编程题 第五节:落体反弹问题、求指定数列之和、求阶乘的和、年龄急转弯、判断回文数、判断星期几、矩阵主对角线元素之和

落体反弹问题

每次落下后弹起高度为之前的一半

python 复制代码
h=100
sum=0
for i in range(0,10):
    if i==0:
        sum+=h
    else:
        sum+=2*h
    h/=2
print(sum,h)

求指定数列之和

a是一个暂时变量来储存之前的down

python 复制代码
sum=0
up=2
down=1
for i in range(20):
    sum+=up/down
    a=down
    down=up
    up=down+a
print(sum)

求阶乘的和

方法一(递归)

python 复制代码
def jiecheng(a):
    if a==1:
        return 1
    else:
        return a*jiecheng(a-1)
sum=0
for i in range(1,21):
    sum+=jiecheng(i)
print(sum)

方法二(factorial函数)

math库里的factorial方法

python 复制代码
import math
sum=0
for i in range(1,21):
    sum+=math.factorial(i)
print(sum)

年龄急转弯

前一个人比后一个人大两岁,知道最后一个人年龄,问第一个人年龄,递归思想,先设置终止条件

python 复制代码
def f(n):
    if n==1:
        return 10
    else:
        return f(n-1)+2
print(f(5))

判断回文数

字符串的倒序输出

python 复制代码
num=str(input())
if num==num[::-1]:
    print("是回文数")
else:
    print("不是回文数")

判断星期几

条件嵌套

python 复制代码
a=input("请输入第一个字母")
if a=="M":
    print("周一")
elif a=="W":
    print("周三")
elif a=="F":
    print("周五")
elif a=="T":
    b=input("请输入第二个字母")
    if b=="u":
        print("周二")
    elif b=="h":
        print("周四")
    else:
        print("输入有误")
elif a=="S":
    c=input("请输入第二个字母")
    if c=="a":
        print("周六")
    elif c=="u":
        print("周日")
    else:
        print("输入有误")
else:
    print("输入有误")

矩阵主对角线元素之和

主对角线元素i==j

python 复制代码
sum=0
n=int(input("请输入矩阵的行数"))
lst=[]
for i in range(n):
    lst.append([])
    for j in range(n):
        lst[i].append(int(input("请输入数据")))
        if i==j:
            sum+=lst[i][j]
print(sum)
相关推荐
虚空之月&&轮舞者32 分钟前
Python与矢量网络分析仪3671E:自动化测试(Vscode)
网络·vscode·python·射频工程
李昊哲小课37 分钟前
tensorflow-cpu
大数据·人工智能·python·深度学习·数据分析·tensorflow
学习编程的gas4 小时前
C++面向对象编程入门:从类与对象说起(一)
开发语言·c++
冼紫菜4 小时前
【Spring Boot 多模块项目】@MapperScan失效、MapperScannerConfigurer 报错终极解决方案
java·开发语言·mybatis
Bear on Toilet4 小时前
Bug日记——实现“日期类”
开发语言·c++·bug
apcipot_rain4 小时前
《面向对象程序设计-C++》实验五 虚函数的使用及抽象类
开发语言·c++
小彭律师6 小时前
数字化工厂中央控制室驾驶舱系统架构文档
python
明月看潮生7 小时前
青少年编程与数学 02-019 Rust 编程基础 05课题、复合数据类型
开发语言·青少年编程·rust·编程与数学
幼稚诠释青春7 小时前
Java学习笔记(对象)
java·开发语言
old_power7 小时前
【Python】PDF文件处理(PyPDF2、borb、fitz)
python·pdf