Python语言程序设计——MOOC嵩天 笔记(3)

基本数据类型

整数类型:二、八、十、十六进制4中表示形式。
浮点数:带小数点及小数的数字,取值、精度存在限制,取值范围数量级约-10的308次方至10的308次方,精度数量级10的-16次方。
特点:浮点数间运算存在不确定尾数,非bug。不确定尾数一般发生在10的-16次方左右。可以用科学计数法表示
 复数类型:与数学上的复数相同

数值运算操作符

 ‘+’ ‘-’ ‘*’ ‘/’  ‘//’整数除    ‘%’取余   ‘**’幂运算 例:x**y 当y是小数时,开方运算,10**0.5结果是根号10
x op =y  即为x=x op y,op为二元操作符  例:x+=y x-=y x*=y...

数字类型关系

整数>浮点数>复数(混合运算时,生成最宽的数字类型)

相关函数

[...]为可省略
abs(x) :取绝对值
divmod(x,y) :商余——>结果(商,余)
pow(x,y[,z]) :幂[余],(x**y)%z
round(x[,d] ):对x四舍五入,d  是小数截取位数,默认为0
max(x1,x2...xn) :比较取最大
min(x1...) :比较取最小
int(x) :变整数,舍弃小数部分
float(x):变浮点数,增加小数部分
complex(x):变复数,增加虚数部分
复数z,  z.real——获得实部,z.imag——获得虚部
>>> 0.1+0.2
0.30000000000000004
>>> 0.1+0.2==0.3
False
>>> round(0.1+0.2,1)
0.3
>>> round(0.1+0.2,1)==0.3
True
>>> abs(-156)
156
>>> divmod(99,5)
(19, 4)
>>> pow(2,10)
1024
>>> pow(2,10,5)
4
>>> round(45)
45
>>> round(45,2)
45
>>> round(45,10)
45
>>> round(45.45,1)
45.5
>>> round(45.45)
45
>>> round(45.45,-1)
50.0
>>> max(12,654,65)
654
>>> min(12,65,213)
12
>>> int(45.12)
45
>>> float(45)
45.0
>>> complex(45)
(45+0j)
>>> (45+4j).real
45.0
>>> (45+4j).imag
4.0
>>> 

天天向上的力量

一年365天,每天进步1‰,累计进步多少呢?
一年365天,每天退步1‰,累计剩下多少呢?

#DayDayUpQ1.py
dayup=pow(1.001,365)
daydown=pow(0.999,365)
print("向上:{:.2f},向下:{:.2f}".format(dayup,daydown))

一年365天,每天进步5‰或1%,累计进步多少呢?
一年365天,每天退步5‰或1%,累计剩下多少呢?

#DayDayUpQ2.py
dayfactor=0.005#使用变量便于修改
dayup=pow(1+dayfactor,365)
daydown=pow(1-dayfactor,365)
print("向上:{:.2f}向下:{:.2f}".format(dayup,daydown))

一年365天,一周5个工作日,每天进步1%
一年365天,一周2个休息日,每天退步1%
这种工作日的力量,如何呢?

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

工作日模式要努力到什么水平,才能与每天努力1%一样?
A君: 一年365天,每天进步1%,不停歇
B君: 一年365天,每周工作5天休息2天,休息日下降1%,要多努力呢?

#DayDayUpQ4.py
def dayUP(df):#保留字def  定义函数对象 df 形参
    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
dayfactor = 0.01
while dayUP(dayfactor)<37.78:
    dayfactor+=0.001
print("工作日的努力参数是:{:.3f}".format(dayfactor))

字符串的类型表示

字符串由一对单引号或一对双引号表示
字符串是字符的有序序列,可以对其中的字符进行索引
在这里插入图片描述
字符串有两类,共4种表示方法
由一对单引号或双引号表示,仅表示单行字符串
由一对三单引号或三双引号表示,可表示多行字符串

>>> "输入字符串"
'输入字符串'
>>> 'A'
'A'
>>> '''输入
字符
串
'''
'输入\n字符\n串\n'

如果希望在字符串中包含双引号或单引号呢?

>>> "这是单引号'"
"这是单引号'"
>>> '这是双引号"'
'这是双引号"'
>>> 

如果希望在字符串中既包括单引号又包括双引号呢?

>>> '''这是单引号'
这是双引号"
'''
'这是单引号\'\n这是双引号"\n'
>>> 

索引:返回字符串中单个字符 <字符串>[M] 或者 <字符串变量名>[M]

>>> "dsdasdas"[3]
'a'
>>> a="dsadsds"
>>> a[3]
'd'

切片:返回字符串中一段字符子串 <字符串>[M: N] 或者<字符串变量名>[M:N]

>>> "dasdsdsadas"[1:3]
'as'
>>> w="qwertyuiop"
>>> w[0:-1]
'qwertyuio'

<字符串>[M: N],M缺失表示至开头,N缺失表示至结尾
<字符串>[M: N: K],根据步长K对字符串切片

>>> q="123456789"
>>> q[:5]
'12345'
>>> q[4:]
'56789'
>>> q[0:-1:2]
'1357'
>>> q[0:-1:4]
'15'

*转义符 *
转义符表达特定字符的本意
转义符形成一些组合,表达一些不可打印的含义

>>> "双引号(\")"
'双引号(")'
"\b"回退 "\n"换行(光标移动到下行首) "\r" 回车(光标移动到本行首)

在这里插入图片描述

>>> x="hello"
>>> y="world"
>>> x+y
'helloworld'
>>> n=3
>>> n*x
'hellohellohello'
>>> s="hello world"
>>> x in s
True

字符串操作——获取星期字符串

#a=eval(input("输入:"))
#print("{:.2f}".format(a))
weekStr = "一二三四五六日"
weekId = eval(input("请输入星期数字(1-7):"))
print("星期" + weekStr[weekId-1])
print(weekId)

字符串处理函数
len(x)——返回字符串x的长度
str(x)——任意类型x转换为字符串
hex(x)或oct(x)——整数型x的十六进制或八进制小写形式字符串
chr(x)——x为Unicode编码,返回其对应的字符
ord(x)——x为字符,返回对应的Unicode编码

>>> x="123456789"
>>> len(x)
9
>>> y=520
>>> str(y)
'520'
>>> w=1314
>>> hex(w)
'0x522'
>>> oct(w)
'0o2442'
>>> e="❤"
>>> ord(e)
10084
>>> r=8888
>>> chr(r)
'⊸'

Python字符串中每个字符都是Unicode编码字符
字符串处理方法

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值