今天是2019.9.11号22:51分
这是我自学Python的第二天,也是我写博客的第二天,还是不知道怎样写博客的第二天,有点懵
今天学Python还是一样的懵,错误还是有很多,而且脑中也不够灵活,逻辑能力还是有待提高,
还得继续加油,为了以后能成为一名IT大佬,我得坚持再坚持,努力再努力,加油吧!骚年!!!!!
结果是由过程决定的,相信我努力的过程会有回报的.我能行的,我相信自己
下面是我的知识总结和错误总结
======我======是======一======个======快======乐======的======分=======割======线======
一.重要知识点:
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,有括号()先算括号()的
======我======是======一======个======快======乐======的======分=======割======线======
下面代码是我学习过程中的代码,有很多不足之处
#题目1:1+2+3+...+100=?
'''
num=1
???????? -->>忘记设置一个sum变量
while num<=100:
print(num)
num=num+1
????? -->>因为前面忘记设置变量,导致这里也没有累加值(sum)
????? -->>这里缺少把sum值输出来
'''
'''
num=1
sum=0
while num<101:
sum=sum+num
num=num+1
print(sum) -->>这里忘记把sum值输出放到while循环外
'''
'''
num=1
sum=0
while num<101:
sum=sum+num
num=num+1
print(sum)
'''
#题目2:输出1-100所有的奇数
'''
num=1
while num<=100:
num%2 !=0
print(num)
num=num+1
'''
num=1
while num<=100:
if num%2 !=0:
print(num)
num=num+1
# name = "alex"
# print("%s已经喜欢了沙河%%2的女生" % name) # 如果字符串中有了占位符. 那么后面的所有的%都是占位. 需要转义
print("wuse很色.喜欢了昌平%5的女生") # 这句话中没有占位符. %还是%
# 1>2(false) and 3<4(ture) or 4>5(false) and 2>1(ture) or 9<8(false) -->>false
# 1>1(false) and 3<4(ture) or 4>5(false) and 2>1(ture) and 9>8(ture) or 7<6(false) -->>false
# not 2>1(false) and 3<4(ture) or 4>5(false) and 2>1(ture) and 9>8(ture) or 7<6(false) -->>false
print(not 5>6 and 8<9 and 9<3 or 1<5 and not 8>6 or 5>5)
#求出下列列逻辑语句句的值
# 8 or 4 -->>8
# 0 and 3 -->>0
# 0 or 4 and 3 or 7 or 9 and 6 -->>3
print(5 or 6 and 0 or 9 or 2 and 0 and 4 or 3 )