落体反弹问题
每次落下后弹起高度为之前的一半
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)