iluke 发表于 2021-4-5 22:43

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

搞个文档吧

iluke 发表于 2021-4-5 22:52

sam喵喵 发表于 2021-4-5 22:50
搞个文档吧

明天重新发个文档吧,好像复制的有些地方乱了{:1_924:}

sam喵喵 发表于 2021-4-5 22:56

iluke 发表于 2021-4-5 22:52
明天重新发个文档吧,好像复制的有些地方乱了

是啊,分模块写,带上注释,方便查看

蓝墨言 发表于 2021-4-5 22:57

这个可以有,坐等楼主重新分享了

StuFish 发表于 2021-4-5 23:43

好家伙 你这是用什么记得笔记,好神奇的格式

opqrsgu 发表于 2021-4-6 00:01

学习了,学习了!长知识!这个python对我来说好难!感谢楼主分享

neoyoung 发表于 2021-4-6 00:03

建议写个notebook,还可以分为问答模式,一个有答案一个无答案版本方便新手练习~

Hedao 发表于 2021-4-6 00:17

看的稍微有点乱,不过内容还是有质量的

佳明不会玩联盟 发表于 2021-4-6 02:41

楼主会持续更新吗,小白一个想学习
页: [1] 2 3
查看完整版本: python学习笔记1