当前位置:首页>python>Python基础——while进阶

Python基础——while进阶

  • 2026-08-24 15:50:51
Python基础——while进阶

while循环(2)---处理列表和字典

列表间移动元素

有时我们需要在两个列表之间移动元素。下面的例子展示了如何使用while循环将一个列表中的元素移动到另一个列表中。

numbers_1 = [1, 2, 3, 4, 5] 
numbers_2 = [] ## 默认F

while numbers_1:
    item = numbers_1.pop() 
    numbers_2.append(item) 

print("原:", numbers_1)
print("改", numbers_2)
原: []
改 [5, 4, 3, 2, 1]

whlie循环删除列表中多个指定元素

在列表中删除多个指定元素时,直接使用remove()方法无法删除所有匹配的元素。 当要删除列表中所有为特定值的元素时,可以使用while循环结合remove()方法来实现。

pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
print(pets)
pets.remove('dog')
print(pets)
### 删除 cat
['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
['cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
for current_an in pets:
if current_an == 'cat':
        pets.remove('cat')
print(pets)

['dog', 'dog', 'goldfish', 'rabbit']
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
while'cat'in pets:
    pets.remove('cat')
print(pets)

可以直接把while改成if吗?

pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
if'cat'in pets:
    pets.remove('cat')
print(pets)

whlie循环将用户输入存储到字典中

有时我们需要将用户输入的信息存储到字典中。下面的例子展示了如何使用while循环来实现这一点。

user_info = {}

whileTrue:
    name = input("请输入您的姓名(输入'退出'结束):")
if name.lower() == '退出':
break
    age = input("请输入您的年龄:")
    user_info[name] = age 

print("用户信息:", user_info)
用户信息: {'xiaoming': '12', 'xiaohong': '12'}

上面使用了while循环来不断提示用户输入,直到用户输入特定的退出命令为止,打断循环用的是break语句。
还有其他的写法吗?

user_info = {}
current_time = True

while current_time:
    name = input("请输入您的姓名(输入'quit'结束):")
if name.lower() == 'quit':
        current_time = False
else:
        age = input("请输入您的年龄:")
        user_info[name] = age

print("用户信息:", user_info)

作业1

1、编写一个程序,使用while循环将一个列表中的所有偶数(10个左右)移动到另一个列表中,直到原列表为空为止。
2、编写一个程序,使用while循环删除列表中所有为特定值的元素(例如,删除列表中所有的数字3)。
3、编写一个程序,使用while循环将用户输入的多个键值对存储到字典中,直到用户输入特定的退出命令为止。

4、假设你在开一家餐馆,编写一个程序,先告知用户菜单,使用while循环不断提示用户输入他们想点的菜品名称和数量(每次询问时都要告知菜单,相同的菜点过之后不能再点),并将这些信息存储到一个字典中,当用户输入"退出"时结束输入,并打印出用户点的所有菜品和数量,以及总共点了多少道菜,并告知用户大概的等待时间(假设每道菜需要5分钟准备时间)。(提示:用户点菜不得少于2道,菜单菜品不得少于4道)

函数(function)

函数是带名字的代码块,用于完成具体的工作。要执行函数定义的特定任务,可调用(call)该函数。

定义函数

使用def关键字来定义函数,后跟函数名和圆括号(括号内可包含参数)。函数体缩进编写。

defgreet_user():
print("Hello!")
greet_user()
Hello!

函数的基本结构如下:

def函数名(参数1, 参数2, ...):
    函数体(代码块)
return 返回值

向函数传递参数

函数可以接受参数,参数是在函数定义的括号内指定的变量。调用函数时,可以传递实际的值(实参)给这些参数(形参)。

defgreet(name):
print(f"Hello,{name}!")

greet('name') 
Hello,name!

实参和形参

实参是调用函数时传递给函数的实际值,而形参是在函数定义时指定的变量名。实参和形参之间通过位置或关键字进行匹配。

defgreet(name):  # name是形参
print(f"Hello, {name}!")

greet("Alice")  # "Alice"是实参

注意

  1. 函数定义后不会立即执行,必须通过调用函数来执行其中的代码。
  2. 函数可以有多个参数,也可以没有参数。
  3. 函数可以返回值,也可以不返回值(默认返回None)。

  4. 函数体内的代码块必须正确缩进,以表示它们属于函数的一部分。
  5. 函数名应遵循命名规则,通常使用小写字母和下划线分隔单词。
  6. 函数可以调用其他函数,包括内置函数和自定义函数。
  7. 函数可以有默认参数值,如果调用时未提供实参,则使用默认值。

作业2

编写一个名为 favorite_book() 的函数,其中包含一个名为 title 的形参。让这个函数打印一条像下面这样的消息: 学习python真有意思!

最新文章

随机文章