ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python_005_while循环,列表的高级操作,生成器的概念,字典

2019-07-19 14:52:05  阅读:241  来源: 互联网

标签:num python 生成器 while 循环 print infor 字典


while循环:

while循环:适用于明确知道循环结束的条件但是不知道循环次数
语法:
while 循环条件判断:
循环语句

while循环可以提到for-in遍历,但是for-in遍历不能替代while循环
"""
"""
while循环可以替代for-in遍历
"""
#使用循环完成1-100的所有整数之和
sum = 0
for i in range(1,101):
sum += i
print(sum)
# while循环
sum = 0
index = 1
while index < 101:
sum += index
index += 1
print(sum)

"""
for-in遍历无法取代while循环
"""
#控制台分别输入两个整数,求两个整数的最大公约数(使用辗转相除法
num1 = int(input('请输入一个整数'))
num2 = int(input('请输入另一个整数'))
max_num = max(num1, num2)
min_num = min(num1, num2)
# 使用辗转相除法求最大公约数
while max_num % min_num != 0:
tmp = max_num % min_num
max_num = min_num
min_num = tmp
print('最大公约数为%d'% min_num)

"""


break和continue
可以用来完成循环终止操作
break--终止本层循环
continue--终止本次循环
注意:当循环执行过程中遇到continue或break时,不管后面是否还存在循环代码,本次(本层)循环后面代码不再执行
"""
#求101-200之间所有素数
for i in range(101, 201):
# 用来存储当前数字i是否是素数,默认为素数
result = True
for j in range(2, i):
if i % j == 0:
result = False
break
if result:
print("%d是素数"% i)

"""
列表的高级操作
"""
#定义一个列表存储[1,10]对应整数的立方值list1 = [1,8,27,64,125, ....]
list1 = [i**3 for i in range(1, 11)]
print(list1)

生成器
list1 = (i**3 for i in range(1, 11))
#推到一个数据
"""
生成器作用:可以根据提前定义好的生成规则,完成数据的动态推断,这样做一方面根据用户需求动态推倒数据,节省计算机内存,另一方面根据用户需求每一次只推断一个,这样可以保证计算机运行效率
"""
# print(next(list1))
# print(next(list1))
#使用for-in遍历
count = 0
for i in list1:
count += 1
if count > 5:
break
print(i)

字典
"""
{key1:value1, key2:value2...}--字典通过键值对完成数据的存取操作
注意:同一个字典中同一个key只能出现依次,而且每一个key只能对应一个值
"""
infor = {'name':'张三', 'sex':'男', 'age':20}
#获取字典中数据get(key)--字典内置操作,用来获取字典中对应key的value值,如果key不存在,此时返回None(空)
print(infor.get('name1'))
#修改字典中对应的键值对,在更新字典中数据时,如果对应的键不存在,此时等价于添加一个新的键值对,但是如果存在对应的键,此时会更新该键值对对应的数据
infor['name1'] = '李四'
print(infor)
#获取字典中所有的键
keys = list(infor.keys())
# 判断列表中是否含有指定元素
if 'name' in keys:
print('列表中含有该键')
else:
print('列表中不含有该键')
#删除字典中对应的键值对
infor.pop('name')
print(infor)

#遍历字典中数据
for key, value in infor.items():
print(key, value)

标签:num,python,生成器,while,循环,print,infor,字典
来源: https://www.cnblogs.com/t-a-n-g-124798/p/11213187.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有