Python基础知识(Day 5)——控制语句、函数学习

Python基础知识(Day 5)——控制语句、函数学习,第1张

for 循环和可迭代对象遍历 for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下:         for 变量      in 可迭代对象:                 循环体语句
for s in (10,20,30):
    print(s*3)
30
60
90
range 对象 range 对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:                         range(start, end [,step])
num = 0
sum_0 =0
sum_1 = 0 #计算奇数和
sum_2 = 0 #计算偶数和
for num in range(101):
    sum_0 += num
    if (num%2==0):
        sum_2 += num
    else:
        sum_1 += num
    num += 1
print(sum_0,sum_1,sum_2)

5050 2500 2550
嵌套循环和综合练习

 

n=0
for x in range(5):
    for y in range(5):
        print(x,end="\t")
    print()
        [ *** 作] 利用嵌套循环打印九九乘法表         
for x in range(1,10):
    for y in range(x):
        print ("{0}*{1}={2}".format(x,y+1,(x*(y+1))),end="\t")
    print()

1*1=1	
2*1=2	2*2=4	
3*1=3	3*2=6	3*3=9	
4*1=4	4*2=8	4*3=12	4*4=16	
5*1=5	5*2=10	5*3=15	5*4=20	5*5=25	
6*1=6	6*2=12	6*3=18	6*4=24	6*5=30	6*6=36	
7*1=7	7*2=14	7*3=21	7*4=28	7*5=35	7*6=42	7*7=49	
8*1=8	8*2=16	8*3=24	8*4=32	8*5=40	8*6=48	8*7=56	8*8=64	
9*1=9	9*2=18	9*3=27	9*4=36	9*5=45	9*6=54	9*7=63	9*8=72	9*9=81	

r1 = {"name":"高小一","age":"18","salary":"30000","city":"北京"}
r2 = {"name":"高小二","age":"19","salary":"20000","city":"上海"}
r3 = {"name":"高小五","age":"20","salary":"10000","city":"深圳"}
tb = [r1,r2,r3]

for s in tb:
    if int(s.get("salary")) > 15000:
        print(s)

{'name': '高小一', 'age': '18', 'salary': '30000', 'city': '北京'}
{'name': '高小二', 'age': '19', 'salary': '20000', 'city': '上海'}

遗留问题点: 为什么一定要int(s.get"salary")? 

break 语句                  break 语句可用于 while 和 for 循环,用来结束整个循环。当有嵌套循环时,break 语句只 能跳出最近一层的循环。                  while True: continue 语句         continue 语句用于结束本次循环,继续下一次。多个循环嵌套时,continue 也是应用于最 近的一层循环。 else 语句 while、for 循环可以附带一个 else 语句(可选)。如果 for、while 语句没有被 break 语句 结束,则会执行 else 子句,否则不执行。语法格式如下: while 条件表达式:         循环体 else:         语句块 或者: for 变量 in 可迭代对象:         循环体 else:         语句块 循环代码优化 1. 尽量减少循环内部不必要的计算 2. 嵌套循环中,尽量减少内层循环的计算,尽可能向外提。 3. 局部变量查询较快,尽量使用局部变量 1. 连接多个字符串,使用 join() 而不使用 + 2. 列表进行元素插入和删除,尽量在列表尾部 *** 作 使用 zip()并行迭代 我们可以通过 zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停止
names = ("团子","小团","团团","团砸")
ages = (18,16,20,25)
jobs = ("老师","公务员","警察","职员")

for names,age,job in zip(names,ages,jobs):
    print("{0}--{1}--{2}".format(name,age,job))

团子--18--老师
小团--16--公务员
团团--20--警察
团砸--25--职员
推导式创建序列 推导式是从一个或者多个迭代器快速创建序列的一种方法。它可以将循环和条件判断结合, 从而避免冗长的代码。推导式是典型的 Python 风格,会使用它代表你已经超过 Python 初 学者的水平。 列表推导式                         列表推导式生成列表对象,语法如下:                 [表达式     for item in 可迭代对象 ]                 或者:                 {表达式  for item in 可迭代对象   if 条件判断}
#列表推导式
x = [y * 2 for y in range(1, 50) if y % 5 == 0]
print(x)

[10, 20, 30, 40, 50, 60, 70, 80, 90]

cells = [(row,col) for row in range(1,3) for col in range(1,3)]
print(cells)

[(1, 1), (1, 2), (2, 1), (2, 2)]
字典推导式 字典的推导式生成字典对象,格式如下:         {key_expression : value_expression   for 表达式   in 可迭代对象}
my_text = 'i love you, i love dd'
char_count = {c:my_text.count(c) for c in my_text}
print(char_count)

{'i': 2, ' ': 5, 'l': 2, 'o': 3, 'v': 2, 'e': 2, 'y': 1, 'u': 1, ',': 1, 'd': 2}
课下作业
Str = input("请输入一串字符:")
resoult = {}  # 定义一个空字典
for i in Str:  # 遍历输入的字符串,以键值对的方式存储在字典中
    resoult[i] = Str.count(i)
for key in resoult:  # 遍历字典,格式化输出结果
    print(f'"{key}":{resoult[key]}次')
集合推导式 集合推导式生成集合,和列表推导式的语法格式类似:                 {表达式   for item in 可迭代对象 }                 或者:                 {表达式   for item in 可迭代对象   if 条件判断}
y = {x for x in range(1,100) if x%9==0}
print (y)

{99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}
生成器推导式(生成元组) .【 *** 作】绘制多个同心圆
import turtle                                        
my_colors = ("red","blue","black","yellow","green")  
t =turtle.Pen()                                      
t.width(4)                                           
t.speed(10)                                          
                                                     
for i in range(100):                                 
    t.penup()                                        
    t.goto(0,-i*10)                                  
    t.pendown()                                      
    t.color(my_colors[i%len(my_colors)])             
    t.circle(10+i*10)                                
                                                     
                                                     
turtle.done()                                        

 【 *** 作】绘制 18*18 棋盘

import turtle

width = 30
num = 18
x1 = [(-400,400),(-400+width*num,400)]
y1 = [(-400,400),(-400,400-width*num)]
t=turtle.Pen()
t.speed(10)
for i in range(19):
    t.penup()
    t.goto(x1[0][0],x1[0][1]-30*i)
    t.pendown()
    t.goto(x1[1][0],x1[1][1]-30*i)
for i in range(0,19):
    t.penup()
    t.goto(y1[0][0]+30*i,y1[0][1])
    t.pendown()
    t.goto(y1[1][0]+30*i,y1[1][1])
turtle.done()
t.hideturtle()

 

第 5 章 函数用法和底层分析 1. 一个程序由一个个任务组成;函数就是代表一个任务或者一个功能。 2. 函数是代码复用的通用机制 函数的定义和调用 Python 中,定义函数的语法如下: def 函数名 ([参数列表]) :         '''文档字符串'''         函数体/若干语句 形参和实参 def printMax(a,b)  #a 和 b 称为“形式参数 printMax(10,20) 文档字符串(函数的注释) def print_star(n):         '''根据传入的 n,打印多个星号'''         print("*"*n) 我们调用 help(函数名.__doc__)可以打印输出函数的文档字符串。 返回值 return 返回值要点:         1. 如果函数体中包含 return 语句,则结束函数执行 并返回值;         2. 如果函数体中不包含 return 语句,则返回 None 值。         3. 要返回多个返回值,使用列表、元组、字典、集合将多个值“存起来”即可。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/915864.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存