1275-李同学

, , ,

# 1. 选择结构

## 1.1 单分支选择结构

s = input("please input a word:")
if int(s)<10:
print("s是小于10")


## 1.2 双分支选择结构

s = input("please input a word:")
if int(s)<10:
print("s是小于10")
else:
print("s是大于10")


### 1.2.1 三元条件运算符

s = input("please input a word:")
print ("s是小于10" if(int(s)<10) else "s是大于10")


## 1.3 多分支选择结构

s = input("please input your score:")
if int(s)<60:
print("不及格")
elif int(s)<80:
print("及格")
elif int(s)<90:
print("良好")
elif int(s)<100:
print("优秀")


### 1.3.1 条件表达嵌套语句

score = int(input("please input your score:"))
degree = "ABCDE"
if score>100 or score <0:
else:
if score>60:
print ("E")
else:


## 1.4 条件表达式详解

False、0、0.0、空值None、空序列对象(空列表，空元组，空集合、空字典、空字符串)、空range对象、空迭代对象。

Python所有的合法表达式都可以看做条件表达式，甚至包括函数调用的表达式。

# 2. 循环结构

## 2.1 while循环

num = 0
while num<=10:
print(num,end="/t")
num +=1


## 2.2 for循环和可迭代对象遍历

Python包含以下几种可迭代对象:
1.序列，包含：字符串、列表、元组
2.字典
3.迭代器对象
4.生成器对象

### 2.2.1 序列

for x in (10,20,30): #元组
print(x*30)
for x in "abcde": #字符串
print (x)
for x in list("abcde"): #字符串
print (x)
d = {"name":"lilei","age":18,"job":"teacher"}


### 2.2.2 字典

for x in d: #遍历字典键
print(x)
for x in d.keys(): #遍历字典键
print (x)
for x in d.values(): #遍历字典值
print (x)
for x in d.items(): #遍历字典键值对
print (x)


### 2.2.3 迭代器对象range

range格式为:range(start,end[,step]),从start开始，到end，包含start，不包含end

sum = 0
for i in range(10):
sum = sum+i
print ('total number is {0}'.format(sum))


## 2.3 嵌套循环

for i in range(5):
for j in range(5):
print (i,end='/t')
print(end='/n')
## 九九乘法表
for i in range(1,10):
for j in range(1,i+1):
print("{0}*{1}={2}".format(i,j,i*j),end='/t')
print("/n")
## 打印字典
d1 = dict(name="lily",age=18,salary=10000,city='北京')
d2 = dict(name="lucy",age=28,salary=20000,city='上海')
d3 = dict(name="jack",age=20,salary=15000,city='北京')
tb = [d1,d2,d3]
print("姓名",end='/t')
print("年龄",end='/t')
print("薪水",end='/t')
print("城市",end='/t')
print('/n')
for t in tb:
for v in t.values():
print(v,end='/t')
print('/n')


## 2.4 break和continue

break语句可用于while和for循环，用于结束整个循环。当有嵌套循环时，break跳出最近一层的循环。
continue用于结束本次循环，继续下一次，多个循环嵌套时，continue也是应用于最近一层的循环。

#打印矩阵斜对角矩阵
for i in range(5):
for j in range(5):
print (i,end='/t')
if i>=j:
break;
print(end='/n')

#打印出所有字符
for i in range(5):
for j in range(5):
print (i,end='/t')
if i<=j:
continue
print(end='/n')


## 2.5 else语句

while、for循环可以附带一个else语句（可选）。如果for、while语句没有被break语句结束，则会执行else子句，否则不执行。

## 不打印出‘done’
for i in range(5):
for j in range(5):
print (i,end='/t')
if i<=j:
break
print(end='/n')
else:
print("done.")
## 打印出‘done’
for i in range(5):
for j in range(5):
print (i,end='/t')
if i<=j:
continue
print(end='/n')
else:
print("done.")


## 2.6 循环代码优化(重要)

1. 尽量减少循环内部不必要的计算
2. 嵌套循环中，尽量减少内层循环的计算，尽可能往外提
3. 局部变量查询较快，尽量使用局部变量

1. 连接多个字符串，使用join()而不是+
2. 列表进行元素插入和删除，尽量在列表尾部操作

## 2.7 zip()并行迭代

zip 并行迭代多个对象时，以最短的迭代对象长度为迭代次数

#A code block
names = ('lilu','lycy','dvaid')
ages = (28,29,40,21)
jobs = ('teacher','writer','doctor','student')
for name,age,job in zip(names,ages,jobs):
print("{0}--{1}--{2}".format(name,age,job))


Vieu3.3主题

Q Q 登 录