当前位置: 首页 > article >正文

【Python基础】数字基础

文章目录

  • 数字基础
    • 1 数字类型
    • 2 数字类型转化
      • 2.1 数字计算优先级
      • 2.2 类型强制转换
      • 2.3 数字不可变
    • 3 数字相关函数
      • 3.1 基本函数
      • 3.2 math模块
        • 数学常数
        • 三角函数
        • 指数函数等
      • 4 随机数模块

数字基础

1 数字类型

类型说明示例
int整数10
float浮点3.14
bool布尔值True,False
complex复数1+0j

基本计算:

print(3.14 * 10)
31.400000000000002

2 数字类型转化

2.1 数字计算优先级

优先级顺序:

complex > float > int >bool

通过案例来进行验证:

price = 99.99
num = 10
print("total sales:", price*num)
print(f"{num}+{True}:", num + True)
total sales: 999.9
10+True: 11

2.2 类型强制转换

函数说明
int([x], base=10)将对象转成整数,默认10进制
float(x=0, /)将对象转成浮点数
bool(x)将对象转成Bool值
complex(real=0, imag=0)创建复数
round(number, ndigits=None)指定浮点数小数点后位数

需求:

  1. 从键盘读取双11的总销售额与购物的总用户数,计算客单价;
  2. 要求结果保留小数点后1位;
gmv= input("输入销售总额:")
shoppers = input("总人数:")
float(gmv)/int(shoppers)
14.142857142857142
round(float(gmv)/int(shoppers), 2)
14.14
round(9.999, 2)
10.0

2.3 数字不可变

数字是一种不可改变的数据结构;

思考:经过下面的操作,a,b的值分别是什么?

a = 10
b = a
a = 11

id函数:查看对象的地址;

id(10),id(11),id(a),id(b)
(140717370872904, 140717370872936, 140717370872936, 140717370872904)

3 数字相关函数

3.1 基本函数

函数说明
pow(x, y, z=None, /)x**y或者x**y%z
abs(x, /)x的绝对值
  • 练习:计算1~10每个数的平方
for i in range(1, 11):
    print(pow(i, 2), end=" ")
1 4 9 16 25 36 49 64 81 100 
a = -1
abs(a)
1

3.2 math模块

math模块:数学相关函数

math模块需要导入,导入语法:

#导入模块
import 模块名称
#导入模块中的方法或者属性
from 模块名称 import xxx

import math
from math import pi
pi
3.141592653589793
math.sin(0.3)
0.29552020666133955
数学常数
函数, math.说明
pi表示圆周率,3.141592653589793
e自然对数的底, 2.718281828459045
三角函数
函数, math.说明
sin(x)/cos(x)返回的x弧度的正/余弦值
asin(x)/acos(x)返回x的反正/反余弦弧度值
tan(x)返回x弧度的正切值
atan(x)返回x的反正切弧度值
指数函数等
函数, math.说明
factorial(x)计算阶乘,返回x!
sqrt(x)返回x的平方根
floor(x)取最接近x的整数,返回整数<x
log(x[, base])以 Base 为底的 x 的对数
log10(x)以10为底的x的对数
log2(x)以2为底的x的对数
# 给定数字,计算其对应的阶乘
def func(n):
    ret = 1
    for i in range(1, n+1):
        ret *= i

    return ret

func(5)
120
# 将给定的整数倒序输出
def reverse_digit(num):
    if num <10:
        print(num)  
    else:
        while num > 0:
            print("num:", num)
            tmp = num % 10
            print(tmp, end="")
            num //=10

reverse_digit(23456)
num: 23456
6num: 2345
5num: 234
4num: 23
3num: 2
2

4 随机数模块

  • 导入模块
import random
  • random相关方法
random.randint(a, b):返回[a,b]之间随机整数;
random.random():返回[0, 1)随机数;
random.uniform(a, b):返回[a,b]之间的实数;
random.seed(a=None, version=2):设置随机种子,如果每次设置值一样,产生随机数一样;
import random
# 产生0~10之间随机数
random.randint(0, 10)
4
# 产生0~1之间的随机数
random.random()
0.9562311732663106
# 随机种子,结果固定
random.seed(1)
random.randint(0, 10)
2
# 无随机种子,结果随机
random.randint(0, 10)
7

http://www.kler.cn/a/226938.html

相关文章:

  • unittest、nosetest、pytest
  • MySql主从同步,同步SQL_ERROR 1032解决办法
  • Leetcode—2881. 创建新列【简单】
  • signalR+websocket:实现消息实时通讯——技能提升
  • leetcode-1686石子游戏
  • java05 数组
  • 一篇文章了解系统眼中的键盘--以一个简单的系统分析从按键的输入到字符的显示
  • 机器学习:Logistic回归(Python)
  • 5、DSP28335 串口发送接收FIFO中断,自定义printf函数
  • 深度学习的进展
  • 计算机网络_1.6.2 计算机网络体系结构分层的必要性
  • nginx初学者指南
  • FlashFXP 下载、安装、使用
  • 在多线程编程中使用 `std::future` 和 `std::vector<std::future<void>>`
  • 【问题解决】VSCode1.86.0版+拓展Remote-SSHv0.108 无法连接到VSCode服务器(VSCode无法远程连接到Linux)
  • MySQL 用户管理
  • 神经网络 | 基于多种神经网络模型的轴承故障检测
  • centOS linux 宝塔 部署django 遇坑小记
  • 基础算法bfs -剪枝问题
  • ep-bg-purple-dark element-plus 不生效