7.17python学习内容总结
7.17python学习内容总结
python分支结构
基本语法
if 条件表达式:
语句
......
条件表达式计算结果必须为布尔值,表达式末尾冒号不能省
如果属于同一个if,语句块缩进等级相同
双向分支结构
if 条件表达式:
语句
......
else:
语句
......
多路分支
if 条件表达式:
语句
......
elif 条件表达式:
语句
......
else:
语句
......
可以有多个elif
else可选
最终只会执行一个分支
python流程控制
if语句结构
if语句的结构:
if <条件1>:
<语句1>
elif <条件2>:
<语句2>
else:
<语句3>
此时,条件1成立时执行语句1,;条件2成立时执行语句2;条件1和条件2都不成立时执行语句3。
if语句还可以使用在一个单语句中,实现三元运算符,基本形式:<表达式1> if <条件> else <表达式2>
if语句的嵌套
if<条件>:
if<条件>:
<语句1>
elif<条件>:
<语句2>:
else:
<语句3>
for循环语句
Python语言中的for语句与其他高级程序设计语言有很大的不同,其他高级语言for语句要用循环控制变量来控制循环。Python中for语句是通过循环遍历某一序列对象(字符串、列表、元组等)来构建循环,循环结束的条件就是对象被遍历完成。
for语句的形式如下:
for <循环变量> in <循环对象>:
<语句1>
else:
<语句2>
else语句中的语句2只有循环正常退出(遍历完所有遍历对象中的值)时执行。
while循环语句
while 判断条件:
执行语句……
异常处理
什么是异常
异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止)
异常的种类
常用异常
- AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
- IOError 输入/输出异常;基本上是无法打开文件
- ImportError 无法引入模块或包;基本上是路径问题或名称错误
- IndentationError 语法错误(的子类) ;代码没有正确对齐
- IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
- KeyError 试图访问字典里不存在的键
- KeyboardInterrupt Ctrl+C被按下
- NameError 使用一个还未被赋予对象的变量
- SyntaxError Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
- TypeError 传入对象类型与要求的不符合
- UnboundLocalError 试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它
- ValueError 传入一个调用者不期望的值,即使值的类型是正确的
错误发生后异常处理
try:
被检测的代码块
except 异常类型:
try中一旦检测到异常,就执行这个位置的逻辑
今日练习
1. 使用while循环输出1 2 3 4 5 6 8 9 10
a = 0
while a<10:
a=a+1
print(a)
2. 求1-100的所有数的和
a=0
sum1=0
for i in range(100):
a+=1
sum1=a+sum1
print(sum1)
3.输出 1-100 内的所有奇数
a =0;
for i in range(100):
a+=1
if a%2==1:
print(a)
4.输出 1-100 内的所有偶数
a =0;
for i in range(100):
a+=1
if a%2==0:
print(a)
5. 求1-2+3-4+5 ... 99的所有数的和
a=0
b=0
sum=0
for i in range(50):
a+=1
b+=2
sum=a-b
print(sum)
6. 用户登陆(三次机会重试)
user = "guowei"
password = "guowei"
cs = 0;
for i in range(3):
username = input("username:")
password = input("password:")
if username == user and password == password:
print("Welcome Login")
cs = 3
break
else:
print("Wrong username or password")
cs += 1
print("you can try", 2 - i, "times")
7.猜年龄游戏
age = 18
cs = 0;
for i in range(3):
guess = input("请输入猜的年龄")
if guess == age:
print("你猜对了")
cs = 3
break
else:
print("猜错了")
cs += 1
print("你还可以猜", 2 - i, "次")
9.for循环打印99乘法表
for i in range(1,10):
for j in range(1,10):
print('%s×%s=%s'%(i,j,i*j))
10.for循环打印金字塔:如下
for i in range(1,5):
print(' '*(5-(i-1))+'*'*(2*i-1))