python天天向上续3.2_在Jupyter上学习python(U.3)
3 基本数据类型3.1 数据类型及操作
3.2 实例3:天天向上的⼒量
3.3 字符串类型及操作
3.4 模块2:time库的使⽤
3.5 实例4:⽂本进度条
3.1 数字类型及操作整数类型、浮点数类型、复数类型、数值运算操作符、数值运算函数
3.1.1 整数类型与数学⾥⾯⼀样,可正可负,没有取值范围限制
pow(x,y):计算$x^y$
四种进制表⽰形式
⼗进制:1010、99、-127;⼆进制:0b1010、-0B1100;⼋进制:0o123、-0O456(第⼆个为英⽂o/O);⼗六进制:0x9a、-0X89;
什么电脑是linux
3.1.2 浮点数类型与数学的实数⼀样,带有⼩数点及⼩数的数字,取值范围($ -10^{308} \to 10^{308} $)和⼩数精度有限制($
10^{-16} $)
浮点数运算间存在不确定尾数,通过添加round(x,d)解决:对x四舍五⼊,d是⼩数截取位数;也⽤于浮点数间运算及⽐较;不确定尾数⼀般在$ 10^{-16} $;
浮点数可采⽤科学计数法表⽰:使⽤字母e或者E表⽰,以10为基数,例如:4.3e-3为0.0043;
3.1.3 复数类型
与数学⾥⾯⼀样。
3.1.4 数值运算操作符使⽤+, -, *, /, //(整除), %(取余), **(幂运算或开⽅运算), ⼆元操作符等;
可使⽤混合运算,结果⼀般为“最宽”的类型:整数 $ \to $ 浮点数 $ \to $ 复数;
函数运算符:abs(x):取绝对值;divmod(x,y):商余,同时输出商和余数(eg. divmod(10,3)为(3,1)); pow(x,y,z):幂余,
(x**y)%z(pow(3,pow(3,99),10000)的结果为4587); round(x,d):四舍五⼊,d是保留⼩数位数,默认0,(round(-10.123,2):为-10.12); $ max(x_1,x_2,\dots,x_n) ,min(x_1,x_2, \dots, x_n) $:取最⼤最⼩值; int(x):将x变为整数,舍弃⼩数部分;
float(x):将x变成浮点数,增加⼩数部分; complex(x):将x变成复数,增加虚数部分;
import math # 导⼊ math 模块
print ("math.pow(100, 2) : ", math.pow(100, 2))
# 使⽤内置,查看输出结果区别
print ("pow(100, 2) : ", pow(100, 2))
print ("math.pow(100, -2) : ", math.pow(100, -2))
print ("math.pow(2, 4) : ", math.pow(2, 4))
print ("math.pow(3, 0) : ", math.pow(3, 0))python在线编辑器python3
print ("math.pow(3,5) : ", pow(3,5))
print ("pow(3,5,100) : ", pow(3,5,100)) #幂余不能使⽤math.pow()
math.pow(100, 2) : 10000.0
math.pow(100, -2) : 0.0001
math.pow(2, 4) : 16.0
math.pow(3, 0) : 1.0
math.pow(3,5) : 243
pow(3,5,100) : 43
html标签大全3.2 实例练习
问题1:千分之⼀:
# DayDayUpQ1.py
dayup = pow(1.001, 365)
daydown = pow(0.999, 365)
print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))向上:1.44, 向下:0.69
# 千分之五和千分之⼀的⼒量
split with
# DayDayUpQ2.py
dayfactor = 0.005
dayup = pow(1 + dayfactor, 365)
daydown = pow(1 - dayfactor, 365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))向上:6.17,向下:0.16
# DayDayUpQ3.py
dayup = 1.0
dayfactor = 0.01
for i in range(365):
if i % 7 in [6, 0]:
dayup = dayup*(1-dayfactor)
else:
dayup = dayup*(1+dayfactor)
print("⼯作时间的⼒量:{:.2f}".format(dayup))
⼯作时间的⼒量:4.63
# DayDayUpQ4.py
def dayUp(df): # 定义函数
dayup = 1
for i in range(365):
dayup = dayup * (1 - 0.01)
else:
dayup = dayup * (1 + df)
return dayup
dayfactor = 0.01
while dayUp(dayfactor) < 37.78:
dayfactor += 0.001
print("⼯作⽇的努⼒参数是:{:.3f}".format(dayfactor))
⼯作⽇的努⼒参数是:0.019
3.3 字符串类型及操作3.3.1字符串类型的表⽰
3.3.2字符串操作符
3.3.3字符串处理函数
3.3.4字符串处理⽅法
3.3.5字符串类型的格式化
3.3.1字符串有2类共4种表⽰⽅法:
1) 由⼀对单引号或双引号表⽰,仅表⽰单⾏字符串;
2) 由⼀对三单引号或三双引号表⽰,可表⽰多⾏字符串;
字符串序号:正向递增和反向递减;
使⽤[]获取字符串中⼀个或多个字符:
1) 索引:返回字符串中单个字符 <;字符串>[M]
2) 切⽚:返回字符串中⼀段字符字串 <;字符串>[M:N]
3) 使⽤[M:N:K]根据步长对字符串切⽚:1 <;字符串>[M:N],M缺失表⽰⾄开头,N缺失表⽰⾄结尾;
2 <;字符串>[M:N:K],根据步长K对字符串切⽚:E.g:"0123456789"[::-1]结果为:"9876543210";
使⽤\:转义符表达特定字符的本意;转义符形成⼀些组合,表达⼀些不可打印的含义:\b:回退,\n:换⾏(光标移动到下⾏⾸),\r:回车(光标移动到本⾏⾸)
3.3.2x + y:连接两个字符串x和y;
n*x 或 x*n:复制n次字符串x;
x in s:如果x是s的⼦串,返回True,否则返回False;
# WeekNamePrintV1.py
weekStr = "星期⼀星期⼆星期三星期四星期五星期六星期⽇"
weekId = eval(input("请输⼊数字(1-7):"))
pos = (weekId - 1) * 3
print(weekStr[pos: pos + 3])
请输⼊数字(1-7):3
# WeekNamePrintV2.py
weekStr = "⼀⼆三四五六⽇"
weekId = eval(input("请输⼊星期数字(1-7):")) #eval将字符串两侧的引号去掉变成python能运⾏的语句
print("星期" + weekStr[weekId - 1])
请输⼊星期数字(1-7):3
星期三
3.3.3
处理字符串的函数:
1. len(x):长度,返回字符串x的长度;
2. str(x):任意类型x所对应的字符串形式;
3. hex(x) 或 oct(x):整数x的⼗六进制或⼋进制⼩写形式字符串;
4. chr(u):u为Unicode编码,返回其对应的字符;
5. ord(x):x为字符,返回其对应的Unicode编码;Unicode编码:统⼀字符编码,即覆盖⼏乎所有字符的编码⽅式,从0到
1114111(0x10FFFF)空间每个编码对应⼀个字符,Python字符串中每个字符都是Unicode编码字符;
# 星座的unicode编码
# ConstellationUc.py
for i in range(12):
print(chr(9800 + i),end = "")
♈♉♊♋♌♍♎♏♐♑♒♓
3.3.4“⽅法”在编程中是专有名词(⽅法⽤.来使⽤)
()风格中的函数();
();
“⽅法”特指.()风格中的函数
()风格使⽤;
⽅法本⾝也是函数,但与有关,.()风格使⽤;
字符串及变量也是,存在⼀些⽅法;
以⽅法形式提供的字符串处理功能
str.lower() 或 str.upper():返回字符串的副本,全部字符⼩写/⼤写;
str.split(sep = None):返回⼀个列表,由str根据sep被分隔的部分组成;E.g:"A,B,C".split(",")结果为['A','B','C'];
<(width,fillchar):字符串str根据宽度width居中,fillchar可选;E.g:"python".center(20,"==")结果
为‘=======python=======’;
str.strip(chars):从str中去掉在其左侧和右侧chars中列出的字符;E.g:"= python=".strip(" =np")结果为"ytho";
str.join(iter):在iter变量除最后元素外每个元素后增加⼀个str;E.g:",".join("12345")结果为"1,2,3,4,5",主要⽤于字符串分隔等;
3.3.5格式化是对字符串进⾏格式表达的⽅式字符串格式化使⽤.format()⽅法,⽤法如下:
<;模板字符串>.format(<;逗号分隔的参数>)
| "{ } | :计算机 | { } | 的CPU占⽤率为 | { } | %" | .format( | "2018-10-10", | "C" | "10" | | :--------: | ----------- | :----------: | -------------| :---------: | ---- | ---------- | :-------------: | :-------: | :--------: | |$\uparrow $ | | $ \uparrow $ | | $\uparrow $ | | | $\uparrow $ | $\uparrow$|$\uparrow $ | | 0 | | 1 | | 2 | | | 0 | 1 | 2 |
format()⽅法的格式控制:{<;参数序号>:<;格式控制标记>}
| : | <;填充> | <;对齐> | <;宽度> | <, > | <.精度> | <;类型> | | | :--------: | :--------: | :--------: | :--------: | :--------: | :--------: | :--------: | :--------: | | 引号 | ⽤于填充的 | <;左对齐 | 槽设定的 | 数字的 | 浮点数⼩数 | 整数类型 | >>>"{0:=^20}".format("PYTHON") | | 符号 | 单个字符 | >右对齐 | 输出宽度 |千位分隔符 |精度或字符串| b,c,d,o,x,X | '=======PYTHON=======' |
| | | ^居中对齐 | | |最⼤输出长度| 浮点数类型 | >>>"{0:*>20}".format("BIT") | | | | | | | | e,E,f,% | '*****************BIT'| | | | | | | | | >>> " {:10}".format("BIT") | | | | | | | | | 'BIT(空格)' |
# format⽤法易语言app下载安装
for i in range(6):
if(i == 0):
print("{0:=^20}".format("PYTHON"))
elif(i == 1):
print("{0:*>20}".format("BIT"))
elif(i == 2):
print("{:10}".format("BIT"))
elif(i == 3):
print("{0:,.2f}".format(12345.6789))
elif(i == 4):
print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425))
elif(i == 5):
print("{0:e},{0:E},{0:f},{0:%}".format(3.14))
=======PYTHON=======
*****************BIT
BIT
12,345.68
110101001,Ʃ,425,651,1a9,1A9mysql子查询语句
3.140000e+00,3.140000E+00,3.140000,31
4.000000%
3.4 time库的使⽤(处理时间的标准库)time库基本格式 时间获取 时间格式化 程序计时应⽤计算机时间的表达;提供获取系统时间并格式化输出功能;提供系统级精确计时功能,⽤于程序性能分析;
()调⽤函数即可;
使⽤:import time和time.()调⽤函数即可;
time库包括三类函数:
1. 时间获取:time(),ctime(),gmtime();
2. 时间格式化:strftime(),strptime();
3. 程序计时:sleep(),perf_counter();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。