python的函数计算--循环语句,数学函数,自定义函数

技能点:循环语句,if条件语句,def自定义函数
主要内容:

  1. python开方运算
  2. python求解方程式
  3. Python求完美数
  4. Python求日期对应的天数
  5. Python求互不相同且无重复数字三位数
  6. Python实现斐波那契数列
  7. Python实现球自由落下算法
  8. Python实现报数算法
  9. Python统计字母和数字个数
  10. Python计算鸡兔算法
  11. 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.csdn.net/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, 124, 248], 
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值