热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python条件与循环语句详解

本文详细介绍了Python中的条件语句和循环结构。主要内容包括:1.分支语句(if...elif...else);2.循环语句(for,while及嵌套循环);3.控制循环的语句(break,continue,else)。通过具体示例,帮助读者更好地理解和应用这些语句。

本文将深入探讨 Python 编程语言中的条件和循环语句,帮助读者理解并掌握其使用方法。

一、分支语句 (if...elif...else)

分支语句用于根据条件执行不同的代码块。常见的形式为 if...elif...else 语句。

示例:通过 ping 命令判断操作系统类型

import os
ip = input("请输入一个 IP 地址:")
res = os.popen(f"ping {ip}").read()
start = res.find("TTL")
if start != -1:
ttl = int(res[start + 4:start + res.find("\n", start)])
if 64 print(f"{ip} 是 Windows 系统")
elif ttl <= 64:
print(f"{ip} 是 Linux 系统")
else:
print(f"{ip} 的操作系统未知")
else:
print("ICMP 协议被防火墙拦截或目标不可达!")

二、循环语句 (for, while 和嵌套循环)

循环语句用于重复执行某段代码。Python 提供了 for 和 while 两种基本循环方式,以及嵌套循环。

示例 1:字幕滚动效果

import time
zimu = input("请输入一段话:")
i = 0
while True:
print(zimu[i:] + zimu[:i], end='', flush=True)
time.sleep(1)
print('\r', end='', flush=True)
i = (i + 1) % len(zimu)

示例 2:获取本机所有网卡及 IP 地址

import os
print("*" * 60)
inf = os.popen("ipconfig /all").read()
nics = inf.split("适配器")[1:]
print("%-40s%s" % ("网卡名称", "IP地址"))
for nic in nics:
lines = nic.split("\n")
name = lines[0].strip()[:-1]
ip_line = [line for line in lines if "IPv4" in line]
addr = ip_line[0].split(":")[1].strip().rstrip("(首选)") if ip_line else "网络未连接"
print("%-40s%s" % (name, addr))

三、控制循环语句 (break, continue, else)

控制循环语句可以改变循环的正常流程。break 用于立即退出循环,continue 用于跳过当前循环体中的剩余语句并继续下一次循环,else 在循环正常结束时执行。

示例 1:判断输入的分数是否需要补考

print("*" * 30)
for i in range(3):
score = float(input("请输入分数:"))
if score <60:
print("需要补考")
break
else:
print("全部通过")

示例 2:打印 0 到 20 之间的偶数

print("*" * 30)
for i in range(21):
if i % 2 != 0:
continue
print(i)

示例 3:验证 IP 地址合法性

print("-" * 30)
while True:
ip = input("请输入一个 IP 地址:")
parts = ip.split(".")
if len(parts) == 4 and all(part.isdigit() and 0 <= int(part) <= 255 for part in parts):
print(f"输入正确,你输入的 IP 是: {ip}")
break
else:
print("IP 输入错误,请重新输入")

推荐阅读
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了Java中org.neo4j.helpers.collection.Iterators.single()方法的功能、使用场景及代码示例,帮助开发者更好地理解和应用该方法。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细介绍 Go+ 编程语言中的上下文处理机制,涵盖其基本概念、关键方法及应用场景。Go+ 是一门结合了 Go 的高效工程开发特性和 Python 数据科学功能的编程语言。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文基于刘洪波老师的《英文词根词缀精讲》,深入探讨了多个重要词根词缀的起源及其相关词汇,帮助读者更好地理解和记忆英语单词。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 本文介绍如何使用 Python 编写程序,检查给定列表中的元素是否形成交替峰值模式。我们将探讨两种不同的方法来实现这一目标,并提供详细的代码示例。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • 本文介绍了如何在C#中启动一个应用程序,并通过枚举窗口来获取其主窗口句柄。当使用Process类启动程序时,我们通常只能获得进程的句柄,而主窗口句柄可能为0。因此,我们需要使用API函数和回调机制来准确获取主窗口句柄。 ... [详细]
author-avatar
張小媫_602
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有