# 两周内搞定 # 第一遍快阅 # 第二遍认真读 fp=open('D:/text.txt','a+') #一定要赋值给变量,银锭要写盘符路径,一定要写a+ print('hello','world','python',file=fp) #一定要把文件变量赋值给file fp.close() #结束文档流,running几次,在文件中写几次 print('hello','world','python') #单行书写 print('abcdabcdabcd') print("abcdab\tabce") #\t空格部位符号,一般是4个空格, #\r回车符 覆盖作用 #\b退格符,删掉一个格 #\n另起一行 newline #\\输出一个\ #\'输出一个单引号 #\"输出一个双引号 print(r'hello\nworld') ## r 或 R 使转义字符失效,但是结尾 反斜杠 个数必须是双数 print(r"hello\nwlkdl\\\\\\") print(0b101) #二进制转10进制 print(chr(0b01000001)) ##十进制转字符串 print(ord('A')) #字符串转十进制编码
print(0b1010) #0b开头二进制 print(0o147) #0o开头八进制 print(0x165EA9)#0x开头十六进制 from decimal import Decimal print(Decimal('1.1')+Decimal('2.2')) # —————————————————————————————————————————————————— 练习—————————————————————————————————————————— from decimal import Decimal print(Decimal('1.1')+Decimal('2.2')) wode=open('D:/text2.txt','a+') print('没有躺赢的命,就请站起来奔跑!',file=wode) wode.close() #——————————————————————————————————————————————-第三章—————————————————————————————————————————————— present=input("大声想要社么礼物") print(present) a=input("请输入整数") b=input("请输入第二个证书") print(int(a)+int(b)) a=int(input("请输入一个整数")) b=int(input("请输入一个整数")) print(a+b) print(type(1)) # 类 型 print(1+2) # 加 法 print(1*2) # 乘 法 print(1-2) # 减 法 print(1/2) # 除 法 print(11//2) # 整 除 print(11%2) # 取 余 数 print(2**4) # 求 平 方 print(9//-4) # 下 取 整 print(-9//4) # 下 取 整 print(-9%4) # 余数=被除数 - 除数*商 除数是负数,余数一定是负数。 a=b=c=20 #a、b、c、的对象里都存储了同一个地址。都指向 value为20的对象的地址。 #-------------------------------------------------《解包赋值》------------------------------------ a,b,c=20,30,40 print(a,b,c) #-----------------------------------------------------------------《交换赋值》------------------------ a,b=14,23 a,b=b,a print(a,b) #--------------------------------------------------------------《比较运算》------------------------ # <、>、<=、>=、==、!= 两符号之间是“或 ||” 的关系。 a=10 b=10 print(a==b) print(a is b) list1=[11,22,33,44] list2=[11,22,33,44] print(list1==list2) print(list1 is list2) print(id(list1)) print(id(list2)) #一个变量有id、type、value, is比较id #==比较value is是同一性运算符,“is”主要来判断两个对象的身份标识(id),两者的基本要素“id”也叫统一性运算。 python 中整形对象和字符串对象是不可变对象,所以python会很高效的对他们进行缓存,所以在程序上来看, 本应该对他们进行创建新对象时,却并没有创建,而是对他们进行了缓存 但是python只缓存简单整形,因此python程序中,这些小整形会经常被用到,而python缓存的值也是有一定范围且可变的。 # and 一假为假 # or 一真为真 # in 在**里面 s="djlksjd" print("d" in s) a = 2.0 b = 2.0 print(a is b) a is b ------------------------------------------------《对象的布尔值为false》------------------- python一切皆对象,所有的对象都有一个布尔值, 获取对象的布尔值 用函数 bool() false 数值0 none 空字符串 空元组 () tuple() 空列表 [] list() 空集合 set() 空字典 {} dict() -----------------------------------------------------《单分支》------------------------------ s=int(input("请输入一个整数" )) if s%2==0: print(s,"为偶数") else: print(s,"为奇数") --------------------------------------------------------《多分枝》---------------------------------- score=int(input("请输入您的成绩 :")) if 90<score<=100: print("Aji") elif 80<score<=90: print("Bji") elif 70< score<=80: print("cji") else: print("大错特错") num_a = int(input("请输入一个 整数")) num_b = int(input("请输入一个 整数")) if num_a >= num_b: print(num_a,"大于",num_b) else: print(num_a,"小于",num_b) ———————————————————————————————————————----《条件表达式 》————————————---------------——————————————————————— num_a = int(input("请输入一个 整数")) num_b = int(input("请输入一个 整数")) # x if 条件语句 else y # 结果为true if 条件语句 else 结果为 false print(num_a,"大于",num_b) if num_a>=num_b else print(num_a,"小于",num_b) #加号 在 print 里 是连接的意思,连接字符串,所以要把数字用str()变成字符串 ----------------------------------------------《pass语句》------------------------------------------------ #用于搭建语法结构时占位。 -------------------------------------------《内置函数染个()》------------------------------------------------------- # range() 用以生成一个整数序列 1)range(stop) 创建一个[0,stop)之间的整数序列,步长为1 2)range(start,stop) 创建[start,stop)之间的整数序列,步长为1, 3)range(start,stop,step) 创建[start,stop)之间的整数序列,步长为step #list()#用于查看range()对象中的整数序列, --》list是列表的意思 #不管range 对象表示的整数序列有多长,所有的对象占用的内存空间都是相同的,因为仅需要存储start,stop,step,只有用到range对象时,才会去计算序列中的相关元素 #用in 或者 not in 判断数值是否在数列中, r=range(2,10,3) print(list(r)) print(7 in r) print(7 not in r) ----------------------------------------------《while循环》----------------------------------------------- a =1 if a<10: #判断是否为ture是就执行,执行完就退出, print(a) a+=1 a =1 while a<10: #判断是否为ture是就执行,执行完 再判断是不是true,直到为false就退出, print(a) a+=1 #---------------------<0~4的总和用while>--------------------while 用于次数不固定的循环 a =0 sum=0 while a<5: sum += a a+=1 print("和为",sum) #--------------------------------《1~100之间的偶数和》---------------------------- a=1 sum=0 while a<=100: if not bool(a%2): # if a%2: 取奇数和 # if a%2==0: 取偶数 sum+=a a+=1 print("和为",sum) #------------------------------------《遍历for in》---------------- for 用于遍历字 符串 和 range() for item in "python": print(item) #range()是一个可迭代对象(可用作循环次数) for i in range(10): print(range(i)) for _ in range(5): print("python") #----------------------------《一到一百内的偶数和》-------------------------- sum=0 for i in range(101): if i%2==0: sum += i print("一到一百的偶数和:",sum) #--------------------------------------《输出100到999之间的水仙花数》------------------------------------ #example: 三位数 = 个位数^3+十位数^3+ 百位数^3; for item in range(100,1000): a= item//100 b= item%100//10 c= item%10 if item==a**3+b**3+c**3: print(item) #-------------------------------------------《输入密码break》----------------------------------------------------- #-------------------------------《for循环判断》----------------------- for i in range(3): pwd = str(input("请输入密码:")) if pwd=="888": print("密码输入正确") break else: print("密码输入错误") #-----------------------------《while循环判断》--------------------- a=0 while a<3: a+=1 pwd=input("qimm") if pwd=="888": print("you are right") break else: print("wrong") #-------------------------------------------《continue》------------------------------------------------ for i in range(1,51): if i%5!=0: continue print(i) i=1 while i<51: if i%5!=0: i += 1 continue print(i) i+=1 #--------------------------------------------《else》---------------------------------------------- #=============================================《for ~ ~ ~ ~ ~ ~ ~ ~else》================== for i in range(3): pwd = input("请输入您的密码:") if pwd=="888": print("对了") break else: for range()遍历 不需要 i++ print("错了重输") else: print("您已超出三次机会了") #============================================《while ~ ~ ~ ~ ~else》======== a=0 while a<3: pwd=input("请输入密码:") if pwd=="888": print("dui") break else: print("错了") a+=1 else: print("辣鸡") #------------------------------------《嵌套式循环》----------------------------------------------- for i in range(3): for j in range(4): print("*",end="\t") print() #---------------------------------------《直角三角形》---------------------------------------------- for i in range(9): for j in range(i+1): print("*",end="\t") print() #----------------------------------------《9*9乘法表》----------------------------------------------- for i in range(1,10): for j in range(i+1): if j==0: continue print(j,"*",i,"=",i*j,end="\t") print() for i in range(1,10): for j in range(1,i+1): print(j,"*",i,"=",j*i,end="\t") print() #----------------------------------------《break 和 continue》----------------------------------------------------- #------------------------------------《流程控制语句break 、continue 在二重循环中的使用》--------------------------------- # break 退出当前循环圈儿 到上一层循环圈去继续循环 # continue 退出当前循环圈的本次循环, 下一次循环 # 都是对当前层循环进行操作。 for i in range(5): for j in range(1,11): if j%2==0: #break continue print(j,end="\t") print() #-------------------------------------------《list》------------------------------------------------ #list=["hello","world",98] ================ # 列表元素须有序排序 #索引映射为一个数据 左——>右 0,1,2,3,4.... 右-——>左 -1,-2,-3,-4....... #可以存储重复数据 #数据类型可以混存 #根据需要动态、分配和回收缓存, lst=list(["hello","world",98,33,"python","ecnd","sd"]) print(lst) print(lst.index(98)) #求列表中 元素98 的索引 print(lst.index("python",3,5)) # python 在小标为4的地方 在index标注的第3到第5中找python,包左不包右的 #先选中多行,然后按ctrl+/键注释,再按一次取消注释. print(lst[4]) print(lst[-5]) #------------------------------------《获取列表中多个元素的-----切片操作》------------------------------------------ #切片格式 名[start(开始):stop(结束):step(步长)] lst=[9,"sd",23,"sfg","sdfs","sdfc"] print(lst.index(23,1,3)) print(lst[1:5:2]) #切片的尾部不包括下标为stop的值 lst2=lst[1:5:2] print("原切:",id(lst)) print("切片:",id(lst2)) #新切的列表 id 和 源列表不一样 print(lst[1:6:]) print(lst[1:6]) #步长为1 省略步长 print(lst[:6:1]) #省略 start 从第一个开始 print(lst[1::1]) #省略 stop 列表长包含最后一个元素 print(lst[::-1]) #step 为-1 从start开始往前切片 #可以理解为倒叙 print(list[7::-1])