【Python入门】——基础语法和变量类型

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入门】系列文章为我个人学习北理工嵩天老师课程的学习笔记

发布了141 篇原创文章 · 获赞 71 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/sinat_40872274/article/details/104146597