input()函数
对于input()函数来说,不管我们输入的回答是什么,不管你输入的是整数1234,还是字符串『隐形斗篷是我最想拥有的魔法』,input()函数的输入值(搜集到的回答),永远会被【强制性】地转换为【字符串】类型。
接收多个用户输入,需要与 .split() 结合使用
a, b, c = (input("请输入三角形三边的长:").split())
a, b = [13, 15] 即将 13赋值给a,15赋值给b
最常用的数据类型有三种——字符串(str)、整数(int)和浮点数(float)
负责转换数据类型的函数一共有3种:str()、 int()和float()。
print(int(3.8))
上方的代码串,就是一条将浮点数3.8强制转换的语句。但是,为什么输出的结果是3呢?
int()函数的本质是将数据转换为整数。所以对于浮点数,int()函数会做取整处理。但是,同我们平时对小数四舍五入的处理方法不同,int()函数会直接抹零,直接输出整数部分。
002
输入三个整数,把第二个输入的整数输出。
a,b,c=map(int,input().split())
print(b)
003
读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们。
a,b,c=map(int,input().split())
print("%8d %8d %8d"%(a,b,c))
004
读入一个单精度浮点数,保留3位小数输出这个浮点数。
a=float(input())
print("%.3f"%(a))
005
读入一个双精度浮点数,保留12位小数,输出这个浮点数。
a=float(input())
print("%.12f"%(a))
006读入一个字符,一个整数,一个单精度浮点数,一个双精度浮点数,然后按顺序输出它们,并且要求在他们之间用一个空格分隔。输出浮点数时保留6位小数。
输入
共有四行:
第一行是一个字符;
第二行是一个整数;
第三行是一个单精度浮点数;
第四行是一个双精度浮点数。
输出
输出字符、整数、单精度浮点数和双精度浮点数,之间用空格分隔。
样例输入
a
12
2.3
3.2
样例输出
a 12 2.300000 3.200000from decimal import Decimala=input()
b=int(input())
c=float(input())
d=Decimal(input()).quantize(Decimal('0.000000'))
print(a,b,"%.6f"%(c),d)
07:输出浮点数
描述
读入一个双精度浮点数,分别按输出格式“%f”,“%f”保留5位小数,“%e”和“%g”的形式输出这个整数,每次在单独一行上输出。
输入
一个双精度浮点数。
输出
输出有四行:
第一行是按“%f”输出的双精度浮点数;
第二行是按“%f”保留5位小数输出的双精度浮点数;
第三行是按“%e”输出的双精度浮点数;
第四行是按“%g”输出的双精度浮点数。
for a in range(0,128):
print("%d:%c "%(a,a),end='')
print(range(1,3)) # 如果它是函数,得到的结果是0,1,2
range(1,5,2) ,得到1,3 并不会得到5,因为“前闭后开”,而步长为2,代表取出规则是“取一个元素跳过一个元素再接着取”
1. 数据类型
- bool : 布尔型(True,False)
- int : 整型(整数)
- float : 浮点型(小数)
- complex : 复数
2. 进制转换
- bin() 将给的参数转换成二进制
- otc() 将给的参数转换成八进制
- hex() 将给的参数转换成十六进制
3. 数学运算
- abs() 返回绝对值
- divmode() 返回商和余数
- round() 四舍五入
- pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余
- sum() 求和
- min() 求最小值
- max() 求最大值
1. 序列
(1)列表和元组
- list() 将一个可迭代对象转换成列表
- tuple() 将一个可迭代对象转换成元组
print(list((1, 2, 3, 4, 5, 6))) # [1, 2, 3, 4, 5, 6]
print(tuple([1, 2,3,4,5,6])) #(1, 2, 3, 4, 5, 6)
(2)相关内置函数
- reversed() 将一个序列翻转, 返回翻转序列的迭代器
- slice() 列表的切片
lst = "你好啊"
it = reversed(lst) # 不会改变原列表. 返回一个迭代器, 设计上的一个规则
print(list(it)) # ['啊', '好', '你']
lst = [1, 2, 3, 4, 5, 6, 7]
print(lst[1:3:1]) # [2,3]
s = slice(1, 3, 1) # 切片用的
print(lst[s]) # [2,3]
(3)字符串
- str() 将数据转化成字符串
print(str(123)+'456') # 123456
#format() 与具体数据相关, 用于计算各种小数, 精算等.
s = "hello world!"
print(format(s, "^20")) # 剧中
print(format(s, "<20")) # 左对齐
print(format(s, ">20")) # 右对齐
# hello world!
# hello world!
# hello world!
print(format(3, 'b')) # 二进制:11
print(format(97, 'c')) # 转换成unicode字符:a
print(format(11, 'd')) # ⼗进制:11
print(format(11, 'o')) # 八进制:13
print(format(11, 'x')) # 十六进制(⼩写字母):b
print(format(11, 'X')) # 十六进制(大写字母):B
print(format(11, 'n')) # 和d⼀样:11
print(format(11)) # 和d⼀样:11
print(format(123456789, 'e')) # 科学计数法. 默认保留6位小数:1.234568e+08
print(format(123456789, '0.2e')) # 科学计数法. 保留2位小数(小写):1.23e+08
print(format(123456789, '0.2E')) # 科学计数法. 保留2位小数(大写):1.23E+08
print(format(1.23456789, 'f')) # 小数点计数法. 保留6位小数:1.234568
print(format(1.23456789, '0.2f')) # 小数点计数法. 保留2位小数:1.23
print(format(1.23456789, '0.10f')) # 小数点计数法. 保留10位小数:1.2345678900
print(format(1.23456789e+3, 'F')) # 小数点计数法. 很大的时候输出INF:1234.567890
- ord() 输入字符找带字符编码的位置
- chr() 输入位置数字找出对应的字符
- ascii() 是ascii码中的返回该值 不是就返回u
bytes() 把字符串转化成bytes类型
2. 数据集合
- 字典:dict 创建一个字典
- 集合:set 创建一个集合
frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。
3. 相关内置函数
- len() 返回一个对象中的元素的个数
- sorted() 对可迭代对象进行排序操作 (lamda)
语法:sorted(Iterable, key=函数(排序规则), reverse=False)
- Iterable: 可迭代对象
- key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进行排序
- reverse: 是否是倒叙. True: 倒叙, False: 正序
all() 可迭代对象中全部是True, 结果才是True - any() 可迭代对象中有一个是True, 结果就是True
zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同