一.重要知识点:
1. 循环. while循环
while 条件:
代码块(循环体)
执行流程:
1. 判断条件是否为真. 如果真. 执行代码块
2. 再次判断条件是否为真......
3. 当条件为假.执行else 跳出循环. 循环结束
2. 格式化输出
%s: 字符串的占位符, 可以放置任何内容(数字) #如果字符串中有了占位符. 那么后面的所有的%都是占位. 需要转义
print("我叫%s, 今年年22岁了了, 学习python2%%了了") #后面的2%%需要转义,因为前面已经有占位符了
print("我叫王尼玛, 今年年22岁, 已经凉凉了了100%了了") #前面无占位符,所以后面的%就是%,不需要转义
%d: 数字的占位符
3. 运算符
逻辑运算:
and 并且的意思. 左右两端的值必须都是真. 运算结果才是真(一假为假)
or 或者的意思. 左右两端有一个是真的. 结果就是真. 全部是假. 结果才能是假(一真为真)
not 非的意思. 原来是假. 现在是真. 非真即假, 非假既真(真假互换)
在没有()的情况下not 优先级⾼高于 and,and优先级⾼高于or,即优先级关系为( )>not>and>or,同⼀一优先级从左往右计算
x or y , x为真,值就是x,x为假,值是y
x and y, x为真,值是y,x为假,值是x
break 结束循环. 停止当前本层循环
continue 结束当前本次循环. 继续执行下一次循环
二.错误总结:
1.忘记设置变量sum、忘记把sum进行累加和忘记把sum值输出
#题目1:1+2+3+...+100=?
'''
num=1
???????? -->>忘记设置一个sum变量(对比第二点)
while num<=100:
print(num)
num=num+1
????? -->>因为前面忘记设置变量,导致这里也没有累加值(sum)(对比第二点)
????? -->>这里缺少把sum值输出来(对比第二点)
'''
#出现这种错误是因为写流程时没有考虑全面和去思考先写流程,写完的时候没有再看一遍流程是否有错
2.没有把sum值输出放到while循环外
'''
num=1
sum=0
while num<101:
sum=sum+num
num=num+1
print(sum) -->>这里忘记把sum值输出放到while循环外(即把print放到与while同一条竖线)
'''
#出现错误的原因是因为没有考虑到while循环的嵌套关系和没有考虑到一个缩进属于一个等级
3.缺少判断条件
#题目2:输出1-100所有的奇数
'''
num=1
while num<=100:
num%2 !=0 -->>缺少判断条件(应加上if,然后下一行print再缩进一次tab)
print(num)
num=num+1
#出现这个错误的原因是因为没有考虑是否要有判断条件,就只考虑了取余不等于0
4.单引号和括号用错了
name=input('请输入你的名字:')
gender=input('请输入你的性别:')
age=input('请输入你的年龄:')
hobby=input('请输入你的爱好:')
print('我叫'+%s',性别是'+%s',今年'+%s',我是一个活泼开朗的人,爱好是'%s) % (name,gender,age,hobby) -->>单引号和括号用错了
修改后:print('我叫%s,性别是%s,今年%s,我是一个活泼开朗的人,爱好是%s' % (name,gender,age,hobby)) -->>正确的
#出现这种错误是因为字符串的含义理解不到位,所以导致出现上面的例子
5.逻辑运算优先级
print(5 or 6 and 0 or 9 or 2 and 0 and 4 or 3 )判断是3(×) -->>正确的是5
#出现这个错误是因为把逻辑运算的优先级别搞混了,正确的优先级别是not>and>or,有括号()先算括号()的
======我======是======一======个======快======乐======的======分=======割======线======
下面代码是我学习过程中的代码,有很多不足之处