补充上节课内容
.format 填充{x:=< 10},x是变量 = 填充物 < 对齐方式 10数量
1.可变,不可变类型:
可变类型:值改变,id不变 证明改的是原值且原值是可以变动的
不可变类型:值改变,id改变 证明只是发生了新的赋值,没有改变原值
bool int float str 都是不可分割的整体
补充:字典的key一定是不可变类型
2. 逻辑运算符:用来连接条件的符号
条件:判断的依据
bool分为显式布尔值和隐式布尔值,其中大部分条件都能作为隐式布尔值的True 只有 0 '' none 为false.
not : 把紧跟其后的条件结果取反
and:逻辑与 连接左右两个条件 全真为真 一假则假
or :逻辑或 连接左右两个条件 全假为假 一真则真
优先级:not > and >or
运算顺序:not-and-or
成员运算符:in 判断是否为成员 (字典判断的是key)
身份运算符:is 判断是否id相同
分支结构:为了让计算机像人一样具有判断某些事物的能力所以有了分支结构,分支结构就是根据条件判断的真假去执行不同分支对应的子代码
if判断:判断条件成立与否来决定执行哪一段代码
短路运算:偷懒原则,偷懒到那个位置就将当前位置的值返回
深浅copy:
浅copy:是把原变量第一层的内存地址完全copy一个分给新变量,对于可变的值浅copy是会将指向新的值
深copy:会区分可变和不可变的值,在内存上单独开辟一块新空间存放可变值,不会根据原值的变化而改变
循环语法:为什么要使用循环? 减少重复代码同时也是为了让计算机像人一样可以重复执行某些命令
语法:while+条件:
子代码块
死循环与效率问题:某些循环会因为条件以及子代码块中内容陷入死循环即无法跳出循环,会不停地调用程序,如果涉及单纯的运算
非常耗费cpu运算能力
退出循环的两种方式:
1.通过条件结束循环,当条件不符时会结束当前循环
2.break 关键字,即结束本层循环
continue:关键字,即结束本次循环进入下一次循环,在其后写的代码不会被执行,毫无意义
while + else:类比if else 在条件不符合时会进入else代码块执行(PS:被break打破的循环不会执行else内容)
作业遇到的问题:今天作业做了一个比较蠢得事情而且用了半天才发现这里单独提一下
源代码
x = input("balabalabala")
if x == "Y"or"y":
pass
else:
pass
上述代码在执行时一直会执行第一个语句 也就是if下的子程序,后来发现是or用法不对
改正后
...
if x=="y"or x=="Y"
...
改正后可顺利执行,错误不应该犯,所以记录一下。
''' 1. count = 0 while count<10: count+=1 if count ==7: continue else: print(count) ''' #---------------------------------------------------------------- ''' 2. i=0 sum = 0 while i<100: i+=1 sum = sum+i else: print(sum) ''' #---------------------------------------------------------------- ''' 3. i = 1 while i<100: print(i) i+=2 ''' #---------------------------------------------------------------- ''' 4. i = 0 while i<100: i+=2 print(i) ''' #---------------------------------------------------------------- ''' 5. i = 0 sum = 0 while i<99: i+=1 if i%2 != 0: sum = sum+i else: sum = sum-i print(sum) ''' #---------------------------------------------------------------- ''' 6. count = 0 while count<3: name_inp = input("请输入用户名:") key_inp = input("请输入密码:") if name_inp=="egon" and key_inp =="123456": print("欢迎登录") break else: print("输入错误") count+=1 else: print("你已经没有机会了") ''' #---------------------------------------------------------------- ''' 7. egon = 73 count = 0 while count<3: gusses = input("请输入年纪") gusses = int(gusses) if gusses == egon: print("恭喜你猜对了") break elif gusses > egon: print("哎呀,猜大了") else: print("哎呀,猜小了") count+=1 else: print("次数用完了") ''' #---------------------------------------------------------------- ''' 8. egon = 73 count = 0 while True: if count<3: gusses = input("请输入年纪") gusses = int(gusses) if gusses == egon: print("恭喜你猜对了") break elif gusses > egon: print("哎呀,猜大了") else: print("哎呀,猜小了") count += 1 else: key_input = input("次数用光了是否继续 'Y' or 'N'") key_input=str(key_input) if key_input =='Y' or key_input =='y': count = 0 continue elif key_input =='N' or key_input =='n': break ''' #----------------------------------------------------------------