基本数据类型

数字类型及操作

整数类型

与数学证书概念一致,可正可负,没有取值范围的限制
-pow(x,y)函数:计算x的y次方,想算多大算多大
eg:pow(2,100)表示2的一百次方

浮点类型

带有小数点及小数的数字,浮点数取值范围和小数精度都存在于限制,但常规计算可忽略,取值范围数量级约-10的308次方至10的308次方精确数量级10的-16次方。,浮点数间运算存在不确定尾数,会有二进制和十进制
eg.round(x,d):对四舍五入,d是小数截取位数,浮点数间运算比较用
科学计数法 <a> e <b>表示a乘以10的b次方
eg.4.4e-3值为0.0043 9.6E5值为960000.0
浮点数存在不确定位数用round()

复数类型

z = 1.23e-4+5.6e+89j表示z.real获得实部z.imag获得虚部

数值运算操作符

操作符是完成运算的一种符号体系
x/y表述x与y的商
x//y表示整数除,x与y之整数商,10//3结果是3
+x表示x的本身
-y表示y的负值
x%y表示余数,x的y次幂
x** y表示幂运算,x的y次幂,当y是小数时,开次方运算10** 0.5结果是根号10
x op =y表示x=x op y,其中op为二元操作符
x+ = y 、x- =y、 x* =y、x/ =y、x// =y,x% =y,x** =y
输入>>>x=3.1415
>>>x**=3
表示x=x**3等价,即x等于3的3.14次方

数值运算函数

函数及使用描述
abs(x)绝对值,x的绝对值
divmod(x,y)商余,(x//y,x%)同时输出商和余数divmod(10,3)结果为(3,1)
pow(x,y[,z])幂余,(x**y)%z,[…]表述参数z可省略eg.pow(3,pow(3,99),10000)结果为4587 表示3的99次方
round(x[,d])四舍五入,d是保留小数位数,默认值为0,round(-10.123,2结果为-10.12)
int(x)将x变为整数,舍弃小数部分 eg。int(123.45)结果为123;int(“123”)结果为123
float(x)将x变成浮点小数,增加小数部分float(12)结果为12;float(“1.23”)结果为1.23
complex(x)将x变成复数,增加虚数部分complex(4)结果为4+0j

实例

天天向上
1、每天进步1%和退部1%

dayup = pow(1.001, 365) #1.001的365次方命名为
daydown = pow(0.999, 365)
print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))

2、5%和1%的力量

dayfactor = 0.005
dayup = pow(1+dayfactor, 365)
daydown = pow(1-dayfactor, 365)
print("向上:{:.2f}, 向下:{:.2f}".format(dayup, daydown))

表示1.005的365次方
0.995的365次方,优化定义变量dayfactor

3、工作日的力量
365天,一周5个工作日,每天进步1%
365天,一周2个休息日,每天退步1%

dayup = 1.0
dayfactor = 0.01
for i in range(365):
    if i%7 in [6,0]: #0-6是七个数
        dayup = dayup*(1-dayfactor)#休息
    else:
        dayup = dayup*(1+dayfactor)#工作
print("工作日力量:{:.2f}".format(dayup))   

4、工作日的努力
工作模式要努力到什么水平,才能与每一天努力1%一样?
A:一年365天,每天进步,不停歇
B:一年365天,每周工作5天休息两天,休息日下降1%,要多努力?
分析:采用for…in(计算思维)def…while试错方法

编译函数,根据df菜蔬计算工作日力量的函数参数不同,这段代码可共用def保留字用于定义函数

利用循环语句试错
def dayUp(df): #用df表示deyfactor简写
    dayup = 1 #设置初始值
    for i in range(365):
        if i % 7 in [6, 0]:
            dayup = dayup*(1 - 0.01)
        else:
            dayup = dayup*(1 + df)
    return dayup
df = 0.01
while dayUp(df) < 37.78: #while保留字判断条件是否成立条件成立时循环执行
    df +=0.001
print("工作日的努力参数是:{:.3f}".format(df))
说明每天要努力到1.9%才能与常人持平

字符串

1、表示 “” 或‘’或“‘ “’表示多行字(三个可以跨行)
eg:“如果外面有双引号('括号就是字符串)”
‘如果有个单引号(“这是字符串)’
”’这里既有单引号(’)又有双引号(")“‘
2、用[]获取字符串中一个或多个字符
索引:返回字符串中单个字符 <字符串>[M]
eg:“请输入带有符号的温度值”[0] 或者 Tempstr[-1]
切片:返回字符串中一段字符子串 <字符串>[M:N]
“输入带有符号的温度值:”[1:3]或者 TempStr[0:-1]

使用[M:N],M缺失表示至开头,N缺失表示至结尾
“0123456789十”[:3]结果是“012” 表示从最开始起到第三个为止
“0123456789十”[1:8:2]结果是“1357” 表示以第一位开始到第八位结束,步长为2
“0123456789十”[::-1]结果是“十9876543210” 表示逆序
转义符
转义符表达特定字符的本意
“这里有个双引号(")”结果表示“这里有个双引号(“)”
即字符串被转义
\b回退
\n表述换行
\r表示回车

字符串操作符

x + y 链接两个字符串x和y
x*y 将x复制y次
x in s 表示x是s的子串,返回True,否则返回False
获取星期字符串
输入:1-7的整数,表示星期几
输出:输入整数对应的星期字符串
例如:输入3,输出 星期三
思想:根据很长的字符串在其中进行切片在切片中运行,很好完成一个星期字符串的输出
例1、

weekStr = "星期一星期二星期三星期四星期五星期六星期日" #定义输入
weedId = eval(input("请输入星期数字(1-7):")) #保留输入数字
pos = (weedId - 1) * 3 #算出起始相应的位置
print(weekStr[pos: pos+3])#取出对应的星期对应在屏幕中

例2、

weekStr = "星期一星期二星期三星期四星期五星期六星期日" #定义输入
weedId = eval(input("请输入星期数字(1-7):")) #保留输入数字
print("星期" + weekStr[weedId-1])#取出对应的星期对应在屏幕中

字符串处理函数

函数及使用描述
len()表示长度 eg:len(“123456”)结果为6
str()任意类型x所对应的字符串形式eg:str(1.23)结果”1.23“ str([1,2])结果为”[1,2]”
hex()或oct()整数x的十六进制或八进制小写形式字符串eg:hex(425)结果“0x1a9”
chr(u)u为unicode编码,返回其对应的字符
ord()x为字符,返回其对应的Unicode编码
unicode

python字符串的编码方式,每个编码对应一个字符。

"1 + 1 = 2 " + chr(10004)
‘1 + 1 = 2 √’

十二星座unicode编码

for i in range(12):
  ...:     print(chr(9800 + i), end="")
  ...:     
♈♉♊♋♌♍♎♏♐♑♒♓

常见方法
常见方法及使用描述
str.lower()或str.upper()返回字符串的副本,全部字符小写/大写 “AbCdEfGh”.lower()结果为“abcdefgh”
str>split(sep=None)返回一个列表,由str根据sep被分隔的部分组成eg:“A,B,C”.split结果为[‘A’, ‘B’, ‘C’]
str.count(sub)返回子串sub在str中出现的次数 “an apple a day”.count(“a”)结果为4 表示a出现的次数
str.replace(old,new)返回字符串副本,所有的old子串被替换为new。eg:“python”.replace(“n”, “n123.io”)结果为“python123.io”
str.center(width[,fillchar])字符串str根据宽度width居中,fillchar可选“python”.center(20,"=")结果为‘======python======’
str.strip(chars)从str中去掉在其左侧和右侧chars中列出的字符“=python=”.strip(" =np)结果为“ytho”
str.join(iter)在iter变量除最后元素外每个元素后增加一个str",".join(“12345”)结果为“1,2,3,4,5”主要用于分割字符
字符串格式化

需要一个槽{ }
应用“{}1{}2{}3”.format”1,2,3“,表示按照字符串中槽{}的默认顺序,对应在format()中参数的顺序

引导符号
用于填充的单个字符<填充>
< 左对齐 >右对齐 ^居中对齐<对齐>
槽设定的输出宽度<宽度>
数字的千位分隔符<,>
浮点数小数精度或字符串最大长度<.精度>
整数类型b,c,d,o,x,X浮点数类型e,E,F,%<类型>

eg"{0:=^20}".format(“python”) 结果为'=======python======='
槽中:引导,=表示填充 ,^表示居中对齐,20表示宽度
eg:“{0:*>20}”.format(“BIT”)
*表示填充,>表示右对齐,20表示为宽度
eg"{0:,.2f}".format(12345.6789)结果为’12,345.68’
:表示引出,,表示千位分隔符,.表示小数点后两位,f表示浮点类型
eg"{0:b}, {0:c}, {0:d}, {0:o}, {0:x}, {0:X}".format(425)结果为’110101001, Ʃ, 425, 651, 1a9, 1A9’
b表示二进制,c表示编码,d表示10进制,o表示八进制,x是16进制,X是大写的16进制。
eg"{0:e}, {0:E}, {0:f}, {0:o}, {0:%}".format(3.14)结果为’3.140000e+00, 3.140000E+00, 3.140000, 314.000000%’
e表示科学计数法浮点数,E表示E形式科学计数法浮点数,f表示以通常非科学计数法,%表示已百分数形式表示浮点数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值