python入门语句基础之if语句、while语句
作者:PursuitingPeak 发布时间:2023-08-14 01:22:55
一、if语句
if 语句让你能够检查程序的当前状态,并据此采取相应的措施。if语句可应用于列表,以另一种方式处理列表中的大多数元素,以及特定值的元素
1、简单示例
names=['xiaozhan','caiyilin','zhoushen','DAOlang','huangxiaoming']
for name in names:
if name == 'caiyilin': #注意:双等号'=='解读为“变量name的值是否为'caiyilin'
print(name.upper())
else:
print(name.title())
每条if语句的核心都是一个值为 True 或 False 的表达式,这种表达式被称为条件测试(如上述条件 name == 'caiyilin'),根据条件测试的值为 True 还是 False 来决定是否执行 if 语句中的代码。如果条件测试的值为True ,Python就执行紧跟在 if 语句后面的代码;如果为 False , Python 就忽略这些代码,不执行。
在Python中检查是否相等时区分大小写,例如,两个大小写不同的值会被视为不相等
my_fav_name = 'daolang'
for name in names:
if name == my_fav_name:
print('Yes')
print('No')
print('\n')
for name in names:
if name.lower() == my_fav_name:
print('Yes')
print('No')
print('\n')
#下方使用 if……else语句
for name in names:
if name.lower() != my_fav_name: #检查是否不相等
print('NO')
else:
print('YES')
查多个条件:有时候需要两多个条件都为True时才执行操作;或者多个条件中,只满足一个条件为True时就执行操作,在这些情况下,可分别使用关键字and和or
ages=['73','12','60','1','10','55','13']
for age in ages:
if age > str(60): #注意:ages中为列表字符串,所以age也是字符串,无法与整型的数字相比,需要先将数字转化为字符串再比较。
print("The "+str(age)+" years has retired!")
elif age > str(18) and age<=str(60): #两个条件都为True时
print("The "+str(age)+" years is an Adult!")
elif age > str(12):
print("The "+str(age)+" years is a student!")
else:
print("The "+str(age)+" years is a child!")
二、while语句
for 循环用于针对集合中的每个元素都一个代码块,而 while 循环不断地运行,直到指定的条件不满足为止。
例如,while 循环来数数
current_number = 1
while current_number <= 5:
print(current_number)
current_number += 1
print("\n")
print(current_number)
当x<=5时,x自动加1,直到大于5时(也即current_number=6),退出while循环,再执行print(current_number)语句。
运行结果:
1
2
3
4
5
6
1、可以用来定义一个标志
定义一个变量,用于判断整个程序是否处于活动状态。这个变量被称为标志,相当于汽车的钥匙,钥匙启动时,汽车所有的电子设备、发动机、空调等均可正常运行,一旦钥匙关闭时,整个汽车熄火状态,全部不能运行。
同理,程序在标志为 True 时继续运行,并在任何事件导致标志的值为 False 时让程序停止运行。
prompt = "\nTell me your secret, and I will repeat it back to you:"
prompt += "\nEnter 'quit' to end the program. "
active = True #定义一个标志
while active: #当active为真的时候,执行程序,
message = input(prompt)
if message == 'quit': #当输入信息为quit时,标志active为False,程序停止
active = False
else:
print(message)
2、使用 break 退出循环,要立即退出 while 循环,不再运行循环中余下的代码
prompt = "\nPlease enter the name of a city you have visited:"
prompt += "\n(Enter 'quit' when you are finished.) "
while True:
city = input(prompt)
if city == 'quit':
break
else:
print("I'd love to go to " + city.title() + "!")
3、在循环中使用 continue
current_number = 0
while current_number < 10:
current_number += 1 #以1逐步增加
if current_number % 2 == 0: #求模运行,是2的倍数,为0
continue #忽略并继续运行。
print(current_number) #打印出数字
4、使用 while 循环来处理列表和字典
1)处理列表中的数据
unconfirmed_users = ['Lucy', 'Bush', 'lincon', 'lucy',
'jack', 'lily', 'lucy', 'hanmeimei'] # 首先,创建一个待验证用户列表
confirmed_users = [] # 创建一个用于存储已验证用户的空列表
while unconfirmed_users: # 验证每个用户,直到没有未验证用户为止
current_user = unconfirmed_users.pop() # 注意pop()是从最后一个开始。
print("Verifying user: " + current_user.title()) # 打印验证的用户,且首字母大写
confirmed_users.append(current_user) # 将每个经过验证的列表都移到已验证用户列表中,
# 相当于将unconfirmed_users倒序保存到current_user中
print("\nThe following users have been confirmed:") # 显示所有已验证的用户
for confirmed_user in confirmed_users: # for循环打印每个已验证的用户名
print(confirmed_user.title())
print("\n")
# 删除包含特定的所有列表元素
while 'lucy' in confirmed_users: # while 循环,因为lucy在列表中至少出现了一次
confirmed_users.remove('lucy') # 删除除最后一个外的其他相同的元素
print(confirmed_users)
运行结果如下:
Verifying user: Hanmeimei
Verifying user: Lucy
Verifying user: Lily
Verifying user: Jack
Verifying user: Lincon
Verifying user: Bush
The following users have been confirmed:
Hanmeimei
Lucy
Lily
Jack
Lincon
Bush
['hanmeimei', 'lily', 'jack', 'lincon', 'Bush', 'Lucy']#注意保留的是最后一个Lucy
2) 处理字典中的数据
responses = {}#定义一个空字典
polling_active = True # 设置一个标志,指出调查是否继续
while polling_active:
name = input("\nWhat is your name? ") # 提示输入被调查者的名字和回答
response = input("Which mountain would you like to climb someday? ")
responses[name] = response # 将答卷存储在字典中,即name是key,变量response 是值
repeat = input("Would you like to let another person respond? (yes/ no) ")# 看看是否还有人要参与调查
if repeat == 'no': #如无人参与调查,将标志设置为False,退出运行。
polling_active = False
# 调查结束,显示结果
print("\n--- Poll Results ---")
print(responses) #把字典打印出来
for name, response in responses.items(): #访问字典
print(name.title() + " would like to climb " + response + ".")
运行结果:
What is your name? lilei
Which mountain would you like to climb someday? siguliang
Would you like to let another person respond? (yes/ no) yes
What is your name? Lucy
Which mountain would you like to climb someday? The Alps
Would you like to let another person respond? (yes/ no) no
--- Poll Results ---
{'lilei': 'siguliang', 'Lucy': 'The Alps'}
Lilei would like to climb siguliang.
Lucy would like to climb The Alps.
实际运行:(为显示全,已删除部分unconfirmed_users中的名字)
来源:https://www.cnblogs.com/codingchen/archive/2022/04/24/16133182.html


猜你喜欢
- 源代码如下:#-*- coding:utf-8 -*- def check_exsit(process_name): import win3
- DataLoader完整的参数表如下:class torch.utils.data.DataLoader( dataset, batch_s
- 1.如何在网页中插入空格 我们在用Dreamweaver的所见即所得编辑模式下编辑中文网页时,往往需要
- 我在跑爬虫程序的时候,由于爬虫程序的等待目标服务器返回数据的时间很长,而cpu占用很低,所以经常挂着代理一跑就跑好几百个。但是爬虫程序通常是
- 1 引言一般来说MySQL分为DDL(定义)和DML(操作)。DDL:Data Definition Language,即数据定义语言,那相
- 1. 前言最近打算做一批日历给亲朋好友,但是从 iPhone 上导出的照片格式是 HEIC 格式,而商家的在线制作网站不支持这种图片格式PS
- 1、全局对象所有模块都可以调用1)global:表示Node所在的全局环境,类似于浏览器中的window对象。2)process:指向Nod
- 在一些不多的数据下载和生成的时候,我们倾向于直接保存为文件,当我们修改某些参数后再一次运行时,之前运行时生成的文件就被覆盖了。为了解决这个问
- 一行代码实现灰度图抠图抠图是ps的最基本技能,利用python可以实现用一行代码实现灰度图抠图。基础算法是确定图像二值化分割阈值的大津法,将
- 以前写过《 10条影响CSS渲染速度的写法与建议》,今天放些数据出来,供参考;首先说明一点,CSS对网页的最后渲染出来的速度影响非
- 一、join函数(一)参数使用说明描述Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。语法join()
- 代码如下:<% Response.Buffer = True '一般情况下,当用户请求
- 版本 0.9来自 http://onewww.net说明:当焦点不在表格内的input时,回车键复制最后一行,delete删除键最后一行选择
- CSRFCSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。CSRF指攻击者盗用了你的身份,以你的名义发送
- 本文实例讲述了javascript格式化json显示方法。分享给大家供大家参考。具体分析如下:将json对象或者json字符串格式化方便在网
- subplot(arg1, arg2, arg3)arg1: 在垂直方向同时画几张图arg2: 在水平方向同时画几张图arg3: 当前命令修
- Pydicom单张影像的读取使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.Fil
- 取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧。<?php /** * @de
- SQLServer中的批量注释批量注释Ctrl + (K,C):按住Ctrl键不放,然后依次按下K和C批量取消注释Ctrl + (K,U):
- 本文实例讲述了js传值后台中文出现乱码的解决方法。分享给大家供大家参考,具体如下:在“test.jsp”页面中,需要通过js将值传递到后台,