每天5个python练习案例,小白和初学的快来当练手吧!坚持就是胜利!
注:解题思路都在代码里面的注释里了,大家可以先看题尝试着自己做,然后对照着下面方法改进或者若代码出现问题或有更好的解法欢迎大家批评指正我。
目录
【No15】求1 + 2! + 3! + 4! + …… + n!的和
【No11】矩阵相加
#计算两个矩阵相加
x = [
[12, 7, 3],
[4, 5, 6],
[7, 8, 9]
]
y = [
[5, 8, 1],
[2, 5, 6],
[7, 3, 9]
]
res = [
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]
]
for i in range(len(res)):
for j in range(len(res[0])):
res[i][j] = x[i][j] + y[i][j]
print(res)
【No12】输出水仙花
题目:输出0~999的所有“水仙花数”。
注:0~999之间的所有“水仙花数” “水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个“水仙花数”。
比如:153 = 1^3 + 5^3 + 3^3
a = 0
b = 0
c = 0
for i in range(100,1000):
a = i // 100
b = i // 10 % 10
c = i % 10
if a** 3 + b**3 + c**3 ==i:
print(i)
【No13】*号输出三角形
题目: 用*号输出正反三角形的图案
#用*号输出正反三角形的图案
#正三角
n = int(input("请问您要打印几行:"))
for i in range(1, n+1):
for k in range(1, n+1-i):
print(' ', end = '')
for j in range(1, i+1):
print(' *', end = '')
print()
#反三角
for i in range(1, n+1):
for k in range(1, i+1):
print(' ', end = '')
for j in range(1, n+1-i):
print(' *', end = '')
print()
【No14】猴子吃桃问题
题目:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾, 又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。 以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
分析:运用递归思想,从第十天 1 个桃子算起,第九天为(第十天的桃子数量+1)*2
ant = 1
for i in range(9, 0, -1): #倒序输出天数
ant = (ant + 1) * 2
print("第%d天的桃子的数量为:%d" % (i, ant))
print("猴子第一天共摘了:", ant)
运行结果:
【No15】求1 + 2! + 3! + 4! + …… + n!的和
#求1 + 2! + 3! + 4! + …… + n!的和
n = int(input("请输入计算的n值:"))
#方法一:两层循环嵌套
f_sum1 = 0
for i in range(1, n + 1):
fact = 1
for j in range(1, i + 1):
fact *= j
f_sum1 += fact
print(f_sum1)
#方法二:利用递归思想构造阶乘函数
def factorial(n): #构造一个计算阶乘的函数
if n == 1:
return 1
else:
return n * factorial(n-1)
f_sum2 = 0
for i in range(1, n+1):
f_sum2 += factorial(i)
print(f_sum2)