python学习笔记1
最近在学python,分享下我做的笔记。print("hello world")
for i in range(10):
print(i)#0-10顺序生成10个数字
import time
time.sleep(10)#运行10秒钟
#变量是容器 用于存放程序数据的容器 先定义后调用
name = "lark 云雀" #设置lark 云雀为变量name name是变量名 lark 云雀为变量值
age = 23 #数字不用加括号
print(name.age)#调用变量 输出结果为“lark 云雀 23”
id(name) #打印内存地址,即变量物理地址
#什么是变量
#变量名只能是字母、数字或下划线的任意组合 变量名的第一个字符不能是数字
#关键语法不得设为变量名(例:print and import...)
#变量名须规范 不能瞎起 驼峰体AgeOfBlackGirl = 56 首字母大写 ; 下划线体 age_of_black_girl = 56
name = ”云雀“#修改变量 修改变量会改变物理地址
del name #删除变量
#常量指不变的值, 标注;全大写表示不变的量 例:NAME = 1000
#数据类型
#数字类型:int\long\float (整型、长整型、小数)
#在64位系统上,整数的位数为64位,取值范围-2的63次方~2的63次方-1,即-9223372036854775808~9223372036854775807
#长整型没有限制数值的大小
#字符串str:存储文字
#列表list:购物列表、学员列表、客户列表..
#布尔bool:处理逻辑判断
#集合set:处理2组数据间的关系
#字典dict:存储更多信息,加快查询速度
#字节bytes:二进制数据、处理图片、视频、书记流等
type(age)#查看数据类型
输出结果 class "int"#class(类的意思)为面向对象 int为数值类型
#字符串str :不可修改、有索引,可切片
name = "lark" #取其中一个值 ,name,取出值为k, 不能修改值,取出2个值name,顾头不顾尾,须加一位,输出显示为ark
#类型为class ”str“ 字符串类型
help(str)#查看字符串类型
name.capitalize() #输出为首字母大写
name.upper() #字符所有字母大写
name.center(50,”-“) #输出为------------lark-------------
#多行字符打”“”三个引号
#字符串拼接用+
#
#python3
# ctrl + ? 批量加注释
#python2
#变量占位符 % % s字符串 % d表示只能数字 % f表示符点
# %s = str
# %d = digit
# %f = float
#演示
name = "lark"
age = 23
hobble = "playing"
msg = '''
------------%s info----------
name: %s
age: %d
hobble: %s
----------end----------
'''%(name,name,age,hobble )
print(msg)
#python3
#只需加f {}内加入变量名f解释{}内的变量
#演示
name = "lark"
age = 23
hobble = "playing"
msg = f'''
------------{name} info----------
name: {name}
age: {age}
hobble: {hobble}
----------end----------
'''
print(msg)
布尔类型bool
就两个值,一个True(真) 一个False(假)
它的作用主要用作程序中的逻辑判断
score = 540
qing_hua_score_benchmark:
if score >= qing_hua_score_benchmark: #True
print("congrautlions.你到达分数线...")
else: #False
print("你只能上北大青鸟...")
#列表的作用
#1原始方法:
name1 = "Money"
name2 = "Celina"
name3 = "XiaoBian"
name4 = "XiaoYun"
print(name1,name2)
#2
names ="Monkey,Celina,XiaoBian,XiaoYun,BlackGirl,GanNiang"
names
#3
girl_list = [] #生成列表[]
type(girl_list)#查看类型
girl_list= ["Monkey","Celina","XiaoBian","XiaoYun","BlackGirl"]#列表里的名单
print(girl_list) #输出列表
girl_list #查看列表第三个人名
#输出结果为'XiaoYun',
girl_list = "小云"#更改列表里第三个为小云
print(girl_list)
#输出结果第三个人名改编成小云
#列表循环
for girl in girl_list: #for 给 ;girl list列表 ,翻译为女孩名单上的女孩
print(f"my dear darling...{girl}.happy new year . i miss you .") #f *循环{}里为变量,
girl_list.append("GangNiang") #增加名称
girl_list.insert(4,"lark")#插入到第四个
#实践
animal_list = []
type(animal_list)
animal_list= ["Monkey","Celina","XiaoBian","XiaoYun","BlackGirl",]
print(animal_list)
animal_list = "猴子"
animal_list = "大黄"
animal_list = "狮子"
animal_list = "老虎"
animal_list = "野牛"
for animal in animal_list:
print(f"hello...{animal}my name is 云雀,nice to me to you...")
#列表的操作
#1 增 names.append(x), names.insert(i,x)
#2 改 names = "black girl"
#3 查 names.index(x)
#4 删 del namesnames.remove(x)
#5 切片、嵌套
元素名 Alex jack Rain Rachel Mack
下标(索引) 0 1 2 3 4
g_index = girl_list.index("GangNiang") #存值
girl_list #查值 输出结果为’GangNiang‘
#girl_list.#查看可操作功能
#实际操作
animal_list = []
type(animal_list)
animal_list= ["Monkey","Celina","XiaoBian","XiaoYun","BlackGirl",]
animal_list = "猴子"
animal_list = "大黄"
animal_list = "狮子"
animal_list = "老虎"
animal_list = "野牛"
animal_list.insert(3,"lark 云雀") #增加一个值
del animal_list("猴子")
#animal_list#取值0-3
#animal_list[-3:-1]#从后面取值
#animal_list[-2:]#表示最后两个值
animal_list # :2代表不常间隔一个,偶数
animal_list.append(["JunJun",180,30,23])#往列表里再嵌入一个列表
['猴子', '大黄', '狮子', 'lark 云雀', '老虎', '野牛', ['JunJun', 180, 30, 23]]
animal_list[-1] #查看最后一个值
['JunJun', 180, 30, 23]
animal_list[-1] = 140#修改30为140
animal_list #输出
['猴子', '大黄', '狮子', 'lark 云雀', '老虎', '野牛', ['JunJun', 180, 140, 23]]
girl_list = []
type(girl_list)
<class 'list'>
girl_list = ["aa","bb","cc","dd","ee","ff"]
girl_list
['aa', 'bb', 'cc', 'dd', 'ee', 'ff']
girl_list.insert(3,"RR")
girl_list
['aa', 'bb', 'cc', 'RR', 'dd', 'ee', 'ff']
del girl_list("aa")
File "<input>", line 1
del girl_list("aa")
^
SyntaxError: cannot delete function call
girl_list.remove("aa")
girl_list
['bb', 'cc', 'RR', 'dd', 'ee', 'ff']
girl_list
['cc', 'RR']
girl_list[-3:-1]
['dd', 'ee']
girl_list
['bb', 'RR', 'ee']
girl_list.append(["vv",175,70,18])
girl_list
['bb', 'cc', 'RR', 'dd', 'ee', 'ff', ['vv', 175, 70, 18]]
girl_list[-1] = 22
Traceback (most recent call last):
File "<input>", line 1, in <module>
IndexError: list assignment index out of range
girl_list[-1]
['vv', 175, 70, 18]
girl_list[-1] = 22
Traceback (most recent call last):
File "<input>", line 1, in <module>
IndexError: list assignment index out of range
girl-list[-1]
Traceback (most recent call last):
File "<input>", line 1, in <module>
NameError: name 'girl' is not defined
girl_list[-1]
175
girl_list[-1]
18
girl_list[-1] = 22
girl_list
['bb', 'cc', 'RR', 'dd', 'ee', 'ff', ['vv', 175, 70, 22]]
for girl in girl_list:
print(f"hello,{girl}nice to me to you , i miss you .")
animal_list = []
type(animal_list)
animal_list= ["Monkey","Celina","XiaoBian","XiaoYun","BlackGirl",]
animal_list = "猴子"
animal_list = "大黄"
animal_list = "狮子"
animal_list = "老虎"
animal_list = "野牛"
animal_list.insert(3,"lark 云雀") #增加一个值
animal_list.append(["JunJun",180,30,23]).
七、常用运算符
# 算法运算: + - * / .....
# 比较运算:>>=<<===...
# 赋值运算:+= -= / =....
# 逻辑运算:and or not
# 成员运算:in , not in
# 身份运算type(x)...
# 位运算:2进制运算
#取模
for i in range(20):
if i % 2 != 0:# 奇数
print(i)
2**8#2的八次方
9//2#求商4
#赋值运算符
a = a + 1
判断
==#判断
!=#判断不等于
逻辑运算
以下假设变量 a=10 , b= 20
and #判断多个条件均为真时,返回真 a>10 and b>10 结果为false
or#判断多个条件任一条件为真时,返回真a>10 or B>10 结果为true
not 取反 not a > b 结果为true
演示:读取用户输入
name = input("your name:")
age = input("age:")
hobbie = input("Your hobbie:")
job = input("your job:")
msg = f'''
---------{name}----------
name = {name}
age = {age}
hobbie = {hobbie}
job = {job}
--------END---------
'''
print(msg)
输出:your name:>? 云雀
age:>? 23
Your hobbie:>? girl
your job:>? play
---------云雀----------
name = 云雀
age = 23
hobbie = girl
job = play
--------END---------
命令行操作
cd ~/ #切换目录
`d #退出
演示
name = input("你的名字:")
age = int(input("年龄:")) #输入数字转格式
hobbie = input("爱好:")
job = input("工作:")
msg = f'''
---------INFORMATION----------
name = {name}
age = {age} wow still young . in{30-age} years you will be 30 . # {}内为变量
hobbie = {hobbie}
job = {job}
--------END---------
'''
print(msg)
输出结果:你的名字:>? 云雀
年龄:>? 22
爱好:>? play
工作:>? qq
---------INFORMATION----------
name = 云雀
age = 22 wow still young . in8 years you will be 30 .
hobbie = play
job = qq
--------END---------
演示
name = input("你的名字:")
age = input("年龄:")#输入数字转格式
if age.isdigit(): #流程判断 ()内是否是数字
age = int(age) #转为数字类型
else:
print("错误的输入...即将退出")
exit()
hobbie = input("爱好:")
job = input("工作:")
msg = f'''
---------INFORMATION----------
name = {name}
age = {age} wow still young . in{30-age} years you will be 30 .
hobbie = {hobbie}
hob = {job}
--------END---------
'''
print(msg)
演示
name = input("你的名字:")
age = input("年龄:")#输入数字转格式
if age.isdigit():
age = int(age)
else:
print("你的输入有误..即将退出")
exit()
hobbie = input("爱好:")
job = input("工作:")
msg = f'''
---------INFORMATION----------
name = {name}
age = {age} wow still young . in{30-age} years you will be 30 .
hobbie = {hobbie}
hob = {job}
--------END---------
'''
print(msg)
流程控制
单分支:a=10
if a>10:
print("a is small")
双分支:a=10
if a<10:
print("a is small.")
else:
print("a is big.")
多分支:
budget = 1000
if budget < 500:
print("这个预算没得选")
elif budget < 800:
print("6号不错")
elif budget < 1500:
print("7号不错")
elif budget < 2000
print(8号不错)
elif budget < 3000
print("10号不错")
else:
print("没得选")
嵌套分支
loneliness = 80
monkey = 1000
if loneliness > 70 :
print("想去玩")
if monkey < 1000:
print("钱太少,洗洗睡吧")
#嵌套分支最对不要超过4层,不是不行,而是层级过多会使程序笨拙,后期不易扩展,相当于把代码写死了
二、for...循环
#循环有两种,一种for循环 ,一种while
for i in range(10):#range(10) 生成从0到9的一个列表i 为临时变量名,i 可更改,后面须给一个临时数据的集合
print("hello,my name is 云雀 , i love this world.")
for name in ["aa","bb","cc","dd"]:
print(name)
# 输出为
aa
bb
cc
dd
for i in "larks":
print(i)
# 输出为:
l
a
r
k
s
打印奇偶数
for i in range(101):
if i % 2 == 0: # %为取模判断有没有余数
print(i)
for i in range(101):
if i % 2 != 0 : #当不等于0时就是奇书
print(i)
for i in range(101):
if i > 50:
if i % 2 != 0 : #当不等于0时就是奇书
print(i)
for i in range(50,101): #选取50到100中间的数
if i % 2 != 0 :
print(i)
for i in range(100.50,-1): #倒序
if i % 2 != 0 :
print(i)
#演示复习
if __name__ == '__main__':
print_hi('PyCharm')
# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助
name = input("你叫什么名字?")
age = input("你今年多大了?")
if age.isdigit():
age = ini(age)
else:
print("你的输入有误..即将退出..")
exit()
hobble = input("你的爱好是什么?")
job = input("你的工作?")
msg = f'''
----------info---------
姓名 = {name}
年龄 = {age}
爱好 = {hobble}
工作 = {job}
----------END----------
'''
print(msg)
嵌套循环
for floor in range(1.7):
print(f"当前在{floor}层..")
for room in range(1,10):
print(f"当前房间是{floor}0{room}室")
演示操作
for floor in range(1,7): #floor 变量译;楼层 从1到7
print(f"当前在{floor}层..") #
for room in range(1,10): #房间有10个
print(f"当前房间是{floor}0{room}室") #
# 嵌套循环
for floor in range(1,10):
print(f"当前在{floor}层".center(50,'-')) #center(50,'-')行为为----------------------当前在9层-----------------------
for room in range(1,6):
print(f"现在{floor}0{room}")
学习记录
for floor in range(1,10):
print(f"当前在{floor}层".center(50,'-'))#center(50,'-')行为为----------------------当前在9层-----------------------
if floor == 3:
print("不走第三层.")
continue # 停止本次循环,进入下一次
for room in range(1,6):
if floor == 4 and room == 4: #楼层4,房间4标注位置
print("见鬼了..")
break #结束当前循环 程序继续运行
exit()#退出
#标志位.跳出整个循环 (以后会讲)
print(f"现在{floor}0{room}")
print("haha,stll here..")
for floor in range(1,8):
print(f"这是第{floor}层".center(20,'-'))
if floor == 4:
print("不走第四层..")
continue
for room in range(1,6):
if floor == 5 and room == 4:
print("见鬼了...")
exit()
print(f"当前在{floor}0{room}房间")
99乘法表
#99乘法表
for i inrange(1,10):
for j in range(1,i+1):
print(f"{i}x{j}={i*j}",end=" ")#end改变print默认参数换行,改变为“ ”
print() #通过print默认参数实现换行,大循环不变,小循环换行
操作实例
for i in range(1,10):#设置为10次
for j in range(1,i+1): #设置为j10次 #设定两个变量 把10改为变量i,因为j和i不能相同,须加1,才可打印出同样数值的相乘
print(f"{i}x{j}={i*j}",end = " ")#用end 改变print 的默认设置,使print不换行 换成空格
print() #因为print的换行默认设置,即可输出 通过print默认参数实现换行,大循环不变,小循环换行
for i in range(1,10):
for j in range(1,i+1):#须加1,表示从1到i+1
print(f"{i}x{j}={i*j}",end = " ")
print()
素数练习(质数)
含义一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除,就叫素数。
1、1-100里之间的数都不能直观的知道他是不是一个素数
2、想知道90是不是素数,就得拿1-90之间的数去和90整除 #两个循环
for i in range(2,101): # i = 9 #大循环,求1-100之间的所有的值,1不求
is_prime_num = True#假设i是素数
for j in range(2,i):#拿2-8之前所有数,跟9相除, 如果能被9整除,代表9不是素数
if i % j == 0 :#能整除,代表 i 不是素数
is_prime_num = False
# else:#不能被整除,代表9是素数
# print(i,"is prime num")#不需要
if is_prime_num == True:
print(i,"是素数..")
for i in range(2,101): # i = 9 #大循环,求1-100之间的所有的值,1不求
is_prime_num = True#假设i是素数
for j in range(2,i):#拿2-8之前所有数,跟9相除, 如果能被9整除,代表9不是素数
if i % j == 0 :#能整除,代表 i 不是素数
is_prime_num = False
if is_prime_num == True:
print(i,"是素数..")
打印三角形
#打印三角形
for i in range(10):#i = 6:
if i <= 5:#如果i小于等于5
print(" * " * i ) 就打印这样
else:#否则
print(" * " * (10-i))
输出效果:
*
**
***
****
*****
****
***
**
*
while循环
while 当后面条件成立就一直走
count = 0
while count < 10:
count += 1
print("loop", count)
while True:#死循环 while当 True为条件
count += 1
print("...")
#猜年龄
count = 0#计数
girl = 18 #设置年龄
while count < 3:#猜三次
gusee = input("猜年龄>:")
if gusee.isdigit():
gusee = int(gusee)
else:
print("不识别的指令..请重新键入..")
continue
if gusee > girl:
print("猜大了,往小了猜")
elif gusee < girl:
print("猜小了,往大了试试")
else:
print("恭喜你,猜对了")
break
count += 1
if count == 3:
cmd = input("你怎么这么笨,要不要再试试?(y/n)")
if cmd in ["y","Y","yes"]:
count = 0 #把count重置为0
else:
print("再见.....see....u....")
p26结束
搞个文档吧 sam喵喵 发表于 2021-4-5 22:50
搞个文档吧
明天重新发个文档吧,好像复制的有些地方乱了{:1_924:} iluke 发表于 2021-4-5 22:52
明天重新发个文档吧,好像复制的有些地方乱了
是啊,分模块写,带上注释,方便查看 这个可以有,坐等楼主重新分享了 好家伙 你这是用什么记得笔记,好神奇的格式 学习了,学习了!长知识!这个python对我来说好难!感谢楼主分享 建议写个notebook,还可以分为问答模式,一个有答案一个无答案版本方便新手练习~ 看的稍微有点乱,不过内容还是有质量的 楼主会持续更新吗,小白一个想学习