IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 2021-08-29 python基础知识学习:循环语句和函数基础 -> 正文阅读

[Python知识库]2021-08-29 python基础知识学习:循环语句和函数基础

1.循环语句

(1)for循环

for i in 可迭代对象:循环语句体
在这里插入图片描述

for x in (10,12,13):#元组
    print(x*2)
#出了for循环,x就被回收不存在了


#实现字典的遍历
d = {'name':'selene','age':22}
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)
#用for循环计算1-20的累加和,奇数的累加和,偶数的累加和
sum = 0
sum_even = 0
sum_odd = 0
for i in range(21):
    sum = sum+i
print(sum)
for i in range(1,20,2):#注意这里写0-20,不会包括20,包头不包尾
    sum_even = sum_even +i
print(sum_even)
for i in range(0,21,2):#注意这里写19,不会包括19
    sum_odd = sum_odd +i
print(sum_odd)

#更简单的代码
sum = 0
sum_even = 0
sum_odd = 0
for i in range(21):#记住20不行
    sum = sum+i
    if i%2==1:#取余为1,奇数
        sum_even = sum_even + i
    else:
        sum_odd = sum_odd + i
print('总和:{0},奇数和:{1},偶数和:{2}'.format(sum,sum_even,sum_odd))

(2)嵌套循环

重点关注第三个打印表

'''
打印
0	0	0	0	0
1	1	1	1	1
2	2	2	2	2
3	3	3	3	3
4	4	4	4	4
'''
for i in range(5):
    for j in range(5):
        print(i,end='\t')
    print()

#打印九九乘法表
for i in range(1,10):
    for j in range(1,10):
        if i>=j:
            print('{0}*{1}={2}'.format(i,j,i*j),end='\t')
    print()

#用列表和字典存储表格信息
#定义一个空列表,把每行弄成字典,字典是列表的元素
tb = []
r1 = dict(name = '高小一',age = 18,salary=3000,city='北京')
r2 = dict(name = '高小二',age = 19,salary=8000,city='上海')
r3 = dict(name = '高小三',age = 20,salary=15000,city='重庆')
tb = [r1,r2,r3]
for i in tb:#遍历列表中的所有元素,字典
    print(i)
for i in tb:
    if i.get('salary')>10000:
        print(i)

(3)break

在这里插入图片描述

#输入q或Q时退出
while True:#没有碰到q时可一直输入
    a = input('输入一个字母:')
    if a.upper() == "Q":
        break
    else:
        print(a)
```(4)continue
![在这里插入图片描述](https://img-blog.csdnimg.cn/c2fc7ddd46cf46778d6d25754e8f310c.png)

```python
#要求输入员工薪资,若小于0则重输,若为q或Q就退出,最后打印录入员工的数量和薪资明细
r ={}
i = 0
while True:
    name = input('输入员工的姓名:')
    s = input('输入员工的薪资(按q或Q退出):')
    if  name.upper() =='Q':
        print('录入完成!')
        break
    else:
        if int(s)<0:
            continue
        else:
            r[i] ={name:int(s)}
            i+=1
print('共录入{0}个人的工资信息'.format(i))
for x in r.items() :
    print(x,end='\t')

(4)else
while和for配套的else,在循环语句正常执行结束后执行,但由break强行跳出后不会执行

while i in range:
	print:('apple')
else:
	print('end')

(5)循环代码优化

在这里插入图片描述

import time

start = time.time()
for i in range(1000):
    result = []
    for j in range(10000):
        result.append(i*1000+j*100)

end = time.time()
print('耗时时间:{0}'.format(end-start))

start = time.time()
for i in range(1000):
    result = []
    x =1*1000
    for j in range(10000):
        result.append(x + j * 100)

end = time.time()
print('耗时时间:{0}'.format(end - start))

结果:
在这里插入图片描述
其他优化方法:
连接多个字符串,用join(),不用+
列表进行元素插入和删除时,尽量在尾部不在中间

2. zip()进行并行迭代

name = ('aa','bb','cc')
age = (11,22,33)
job = ('doc','stu','pro')

for name,age,job in zip(name,age,job):
    print('{0}--{1}--{2}'.format(name,age,job))

#效果一样
for i in range(3):
    print('{0}--{1}--{2}'.format(name[i],age[i],job[i]))

3. 推导式

(1)列表推导式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)字典推导式

在这里插入图片描述

(3)集合推导式

集合本身与字典的区别就在于没有value
b = {i for i in range(10) if i%2==0}

(4)生成器推导式(生成元组)

在这里插入图片描述
生成器可循环遍历,但是也是只能一次
在这里插入图片描述

4.综合练习

画同心圆
import turtle

t = turtle.Pen()#定义画笔
color = [‘yellow’,‘blue’,‘red’,‘pink’,‘green’]

t.width(3)#画笔宽度
t.speed(0)#速度很快
for i in range(100):
t.penup()
t.goto(0,-i10)
t.pendown()
t.color(color[i%len(color)])
t.circle(10
i+10)

turtle.done()#设置程序执行完,窗口仍存在

5.函数基础知识

(1)函数分类

在这里插入图片描述

(2)函数定义

def test01():   #()中是形参,多个用 逗号 隔开
	'''
	打印一排分隔符(这部分是函数的文档字符串)help
	'''
    print('*'*10)

#函数调用
test01()
test01()
print('该函数的id:{0}'.format(id(test01)) ) #函数也是对象,python中所有都是对象

help(test01._doc_) ##查看文档字符串

结果;
在这里插入图片描述

(3)形参和实参

这里函数定义时括号里a,b是形参,调用时的10,20是实参
形参和实参必须一一对应
在这里插入图片描述

(4)函数的返回值

在这里插入图片描述

def add(a,b):
    print('计算两个数的和:{0},{1},{2}'.format(a,b,a+b))
    return a+b

def test02():
    print('aaa')
    print('bbb')
    return#return可返回值,,也可用作借结束函数的运行,下面的就不会打印出来了
    print('ccc')

def test03(a,b,c):
    return [a*2,b*2,c*2]


c = add(3,8)
test02()
print(test03(1,2,3))

结果:
在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-30 12:01:04  更:2021-08-30 12:01:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:22:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码