1.基础语法
分支结构
if i < 0:
print("负数")
elif i == 0:
print("0")
else:
print("正数")
循环结构
while
while i < 100:
print("HelloWorld")
for
# range(N) 从0~n-1
for i in range(5): #打印0~4
print("Hello:",i) #结果 Hello: 0 逗号表示空格...
# range(M,N) 从M到n-1
for i in range(1,5): #打印1~4
print("Hello:",i) #结果 Hello: 1 逗号表示空格...
声明函数
def fun(var):
return 1
2.数字类型及操作
整数
Python具有任意精度的整数,因此没有真正的固定最大值。你只受到可用内存的限制。
浮点数
round(x,d) #对x四舍五入,d是小数截取位数 以此来预防不确定位数
round(0.1+0.2,1) == 1 #使用round来进行浮点数比较si
复数
z = 1.23e-4 + 5.6e+89j #z是一个复数 z.real获得实部 z.imag获得虚部
运算符
x / y #数学除号 返回浮点数
x // y #整除符号 返回整数
x ** y #幂运算 x的y次幂 10开平方就是 10 ** 0.5
多种类型的数字运算结果是最宽的数据类型
整数 < 浮点数 < 复数
运算函数
divmod(x,y) #商余函数 (x//y ,x%y),同时输出商和余数
# 例如 divmod(10,3)=(3,1)
pow(x,y[,z]) # 幂余函数 []中的参数 代表该参数可以省略
# 例如 pow(3,99,10000) 3的 3的99次方 对10000取模
round(x[,d]) #对x四舍五入,d是小数截取位数 以此来预防不确定位数
max(x1,x2,x3...) #最大值函数 可以有多个参数
min(x1,x2,x3...) #最小值函数 可以有多个参数
int(x) #将x强制转化为整数
float(x) #将x强制转化为浮点数
complex(x) #将x强制转化为复数
实例:天天向上的力量
# 实例3 天天向上的力量
#每天进步1%。
dayup = pow(1.001,365)
print(dayup) #1.4402513134295205
#每天退步1%。
daydown = pow(0.999,365)
print(daydown) #0.6940698870404745
###########################
#每天进步5%。 每天退步5%。
dayfactor = 0.005
print(pow(1+dayfactor,365))#6.17
print(pow(1-dayfactor,365))#0.16
#每天进步1% 每天退步1%。
dayfactor = 0.01
print(pow(1+dayfactor,365))#37.78
print(pow(1-dayfactor,365))#0.025
############################
#一年365天,一周5个工作日,每天进步1% 2个休息日每天退步1%
dayfactor = 0.01
ans = 1
for i in range(365):
if i % 7 in [6,0]:
ans *= (1-dayfactor)
else:
ans *= (1+dayfactor)
print("{:.2f}".format(ans))
############################
#工作日模式工作日要进步x%,休息日退步1%才能和每天努力1%相同
def DayUp(df):
dayup_ = 1
for i in range(365):
if i % 7 in [6,0]:
dayup_ *= (1-0.01)
else:
dayup_ *= (1+df)
return dayup_
dayf = 0.01
while DayUp(dayf) < 37.78:
dayf += 0.001
print(dayf)
3.字符串
一共 2类 4种表示方法
'Miserable' #单引号
"双引号" #双引号字符串
'''三单引号 #三单引号 或 三双引号 多行字符串
三双引号'''
#字符串实验
print('Miserable')
print("双引号")
print('''三单引号
三双引号''')
print('这里有个双引号(")') #字符串中有双引号 外层就是单引号
print("这里有个单引号(')") #字符串中有单引号 外层就是双引号
print('''这里有个单引号(')和一个双引号(")''') #都有外层就是三引号
也依然可以使用转义符'\'
字符串的序号
两种方向都可以
字符串切片
#使用[]获取字符串中的一个或多个字符
TempStr = "37C"
#索引
#Str[N] 获取字符串N位置上的字符
TempStr[-1] = "C"
#切片
#Str[M:N] 获取字符串M到N-1的子串
TempStr[0:-1] = "37"
#Str[M:N:K] 从M到N-1按K步长截取子串
#M缺失表示至开头 N缺失表示至结尾 K缺失表示步长为1
"〇一二三四五六七八九十"[:3] = "〇一二" #0~2的子串 步长为1
"〇一二三四五六七八九十"[1:8:2] = "一三五七" #1~7的子串步长为2
"〇一二三四五六七八九十"[::-1] = "十九八七六五四三二一〇" #将0~10字符串从后向前逐一取出 相当于字符串翻转
字符串操作符
x+y #连接两个字符串x和y
n*x 或 x*n #复制n次字符串x
x in s #检查x是否是s的子串 ,如果是返回Ture 否则False
#WeekNanme.py 根据输入数据判断今天是星期几
#版本一
weekStr = "星期一星期二星期三星期四星期五星期六星期日"
weekid = eval(input())
pos = (weekid-1)*3
print(weekStr[pos:pos+3])
#版本二
weekStr ="一二三四五六日"
weekid = eval(input())
print("星期"+weekStr[weekid-1])
字符串处理函数
len(x) #返回字符串长度
str(x) #将任意类型的变量 x 变为字符串
hex(x) #整数x的十六进制形式
oct(x) #整数x的八进制形式
chr(u) #u为Unicode编码,返回其对应的字符 Py中的编码都是Unicode
ord(x) #x为字符,返回其对应的Unicod编码
"1 + 1 = 2 "+chr(10004) = '1 + 1 = 2 √'
for i in range(12):
print(chr(9800+i)+" ",end="") #打印十二星座符号
字符串处理方法(方法要用 对象.name()形式)
str.lower() 或 str.upper() #字符串变成全大写或全小写
str.split(sep = Node) #返回一个列表 sep为分隔符号
#例如 "A,B,C".split(",")=['A','B','C']
str.count(sub) #返回子串sub出现的次数
str.replace(old,new) #将所有old子串都替换为new
#例如 "python".replace("n","n123.io") = "python123.io"
str.center(width[,fillchar]) #str根据width居中,fillchar为填充字符
str.strip(chars) #去除字符串左右两侧的字符
#例如 "= oython=".strip(" =np") = "ytho"
str.join(iter) #可以在除最后一个元素外每个元素后增加一个s都好"," 主要用于分割
字符串的格式化
和 JAVA 类似使用“槽” 来占位
"槽"内部的 6种 格式化控制标记
1.普通字符串
"{0:=^20}".format("PYTHON") #用"="填充,居中对齐,输出宽度为20px
2.数字字符串
"{0:,.2f}".format(12345.6789) #对于第0个参数,使用千位分隔符,保留小数点后两位,浮点类型表示
【Python入门】系列文章为我个人学习北理工嵩天老师课程的学习笔记