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

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)

上一篇:简易通讯录类实现原理


下一篇:SAP 批量维护货源清单