技能点:循环语句,if条件语句,def自定义函数
主要内容:
- python开方运算
- python求解方程式
- Python求完美数
- Python求日期对应的天数
- Python求互不相同且无重复数字三位数
- Python实现斐波那契数列
- Python实现球自由落下算法
- Python实现报数算法
- Python统计字母和数字个数
- Python计算鸡兔算法
- Python分解质因数
1.python开方运算
1、使用pow函数
这个函数是存在Python内置库当中的,一般我们使用它是对整数进行次方的运算,
pow(x,y)
表示的是可以返回一个x的y次方
使用它开根号的方式也很特别,将它反过来使用就可以实现,它是使用方法如下:
n = int(input('请输入一个数字:'))
x = pow(n,0.5)
print(x)
print(type(x))
2.sqrt方法
在使用它的时候,需要使用到Python中的一个模块,叫math,在sqrt方法中,包含了一个参数x,表示的是一个数值,最后的返回结果是一个x的平方根
代码:
import math
a=8
b=3
r=math.sqrt((a+b)*(a-b)/(pow(a,2)+pow(b,2)))
print(round(r,2))
2.Python求解方程式
二次方程式 ax**2 + bx + c = 0 (a、b、c 用户提供,为实数,a ≠ 0)
代码:
# 导入 cmath(复杂数学运算) 模块
import cmath
a = float(input('输入 a: '))
b = float(input('输入 b: '))
c = float(input('输入 c: '))
# 计算
d = (b ** 2) - (4 * a * c)
# 两种求解方式
sol1 = (-b - cmath.sqrt(d)) / (2 * a)
sol2 = (-b + cmath.sqrt(d)) / (2 * a)
print('结果为 {0} 和 {1}'.format(sol1, sol2))
3.Python求完美数
找出10000以内的从小到大的第三个完美数;
说明:
完美数又称为完全数或完备数,它的所有的真因子(即除了自身以外的因子)的和(即因子函数)恰好等于它本身。例如:6(6=1+2+3)和28(28=1+2+4+7+14)就是完美数。完美数有很多神奇的特性,有兴趣的可以自行了解。
假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。因子是整数中的概念
代码:
import datetime
start = datetime.datetime.now() # 计时
perfect_number = []
for i in range(2, 10001):
factor_sum = 0
for j in range(1, int(i / 2) + 1): # 因为因数成对出现
if i % j == 0:
factor_sum = factor_sum + j
if factor_sum == i:
perfect_number.append(factor_sum)
print(perfect_number[2])
end = datetime.datetime.now() # 计时
print(f"程序运行了{
end - start}秒")
结果:
496
程序运行了0:00:02.767712秒
拓展:找出完美数,并打印出真因数
相关参考:https://blog.youkuaiyun.com/qq_45134915/article/details/115750568
代码:
# 找出10000以内的完美数
import datetime
start = datetime.datetime.now() # 计时
perfect_number = []
for i in range(2,10001):
factor_sum = []
for j in range(1,int(i/2)+1):
if i % j == 0:
factor_sum.append(j)
if sum(factor_sum) == i:
print(f"{
i}:{
factor_sum}")
perfect_number.append(factor_sum)
print(perfect_number)
end = datetime.datetime.now() # 计时
print(f"程序运行了{
end - start}秒")
结果:
6:[1, 2, 3]
28:[1, 2, 4, 7, 14]
496:[1, 2, 4, 8, 16, 31, 62, 124, 248]
8128:[1, 2, 4, 8, 16, 32, 64, 127, 254, 508, 1016, 2032, 4064]
[[1, 2, 3], [1, 2, 4, 7, 14], [1, 2, 4, 8, 16, 31, 62, 12