python学习笔记11(while循环)

1.利用循环删除列表元素

#利用for循环遍历列表时候,不能随意删除列表内的元素,因为这会容易造成python不能准确跟踪其中的元素,要在遍历列表的同时对其进行修改,可以使用while循环
milktea_size=['小杯','中杯','大杯','6杯','5杯']
while '大杯' in milktea_size:
    milktea_size.remove('大杯')
print('The modified list:')
print(milktea_size)
#看一下用for循环修改列表元素内容
milktea_size=['小杯','中杯','大杯','6杯','5杯']
for size in range(len(milktea_size)):
   milktea_size[size]+='不错' #利用下标对列表元素进行了修改
print(milktea_size)

['小杯', '中杯', '6杯', '5杯']
['小杯不错', '中杯不错', '大杯不错', '6杯不错', '5杯不错']

解释为什么不能用以下方式for循环删除元素(但是可以借助remove()和循环实现):

#利用for循环删除列表元素,删除了列表元素,利用range产生的列表长度也就会发生变化,这就无法准确定位元素,会出现错误
milktea_size=['小杯','中杯','大杯','6杯','5杯']
for size in range(len(milktea_size)):
   if milktea_size[size]=='大杯':
       del(milktea_size[size])
print(milktea_size)
 File "D:/pycharm/pythonProject/main.py", line 58, in <module>
    if milktea_size[size]=='大杯':
IndexError: list index out of range

2.动手试一试
python学习笔记11(while循环)_第1张图片
7-8:

sandwich_orders=['香肠','腊肠','热狗','面包']
finished_sandwiches=[]
while sandwich_orders:
    sandwich_order=sandwich_orders.pop()
    print('I made your ' + sandwich_order)
    finished_sandwiches.append(sandwich_order)#填充空列表
print(finished_sandwiches)
I made your 面包
I made your 热狗
I made your 腊肠
I made your 香肠
['面包', '热狗', '腊肠', '香肠']

Process finished with exit code 0

7-9:

sandwich_orders=['香肠','腊肠','热狗','面包','香肠','香肠']
finished_sandwiches=[]
print('本店售卖:')
print(sandwich_orders)
print('香肠已经卖完啦')
while '香肠' in sandwich_orders:
        sandwich_orders.remove('香肠')
print('现在还有的三明治:')
while sandwich_orders:
    sandwich_order=sandwich_orders.pop()
    finished_sandwiches.append(sandwich_order)#填充空列表
print(finished_sandwiches)
本店售卖:
['香肠', '腊肠', '热狗', '面包', '香肠', '香肠']
香肠已经卖完啦
现在还有的三明治:
['面包', '热狗', '腊肠']

Process finished with exit code 0

7-10:利用while循环实现向空字典里面添加列表

dream_places={
     }
user_reply=' '
print('请按照提示输入个人信息:')
#记录你最喜欢的6个城市
while user_reply!='quit':
    name=input('what is your name?')
    place_names=[]
    for place_name in range(0,6):
        name1=input('what is your favourite place?')
        place_names.append(name1)
    dream_places[name]=place_names
    user_reply=input('还有人参与吗?')
print(dream_places)


请按照提示输入个人信息:
what is your name?湘湘
what is your favourite place?津南
what is your favourite place?丹麦
what is your favourite place?苏州
what is your favourite place?杭州1
what is your favourite place?上海
what is your favourite place?南京
还有人参与吗?quit
{
     '湘湘': ['津南', '丹麦', '苏州', '杭州1', '上海', '南京']}

Process finished with exit code 0

3.扩展(利用while循环向空字典里面添加字典)

#利用while循环向空字典里面添加字典
student={
     }#定义字典,存放学生信息
student_numbers=int(input('请输入学生的个数:'))
number=0
while number<student_numbers:
    student_names=input('请输入你的名字:')
    students_info={
     }
    student_info=input('请输入学生年龄代号:')
    students_info[student_info]=input('请输入年龄:')#填充学生信息字典
    student_info = input('请输入学生性别代号:')
    students_info[student_info] = input('请输入性别:')#填充学生信息字典
    student[student_names]=students_info#填充学生字典
    number+=1
print(student)
请输入学生的个数:2
请输入你的名字:湘湘
请输入学生年龄代号:age
请输入年龄:23
请输入学生性别代号:sex
请输入性别:男
请输入你的名字:二岁
请输入学生年龄代号:age
请输入年龄:22
请输入学生性别代号:sex
请输入性别:女
{
     '湘湘': {
     'age': '23', 'sex': '男'}, '二岁': {
     'age': '22', 'sex': '女'}}

Process finished with exit code 0

你可能感兴趣的:(python,python)