Python3学习——条件控制、循环语句与迭代器

news2024/9/24 1:15:46

目录

一、编程第一步——斐波那契数列

二、条件控制

(一)if/else语句

判断狗狗的年龄:

 (二)多层if/else嵌套

判断数字能否被2或3整除:

 (三)match...case匹配——python3中新增

根据数字判断星期:

三、循环语句

(一)while循环

1.循环+2:

2.while计算1~100的和:

3.无限循环:

4.while...else循环:

5.猜数字游戏:

6.判断狗狗年龄代码优化:

 (二)for循环

1.for循环遍历列表:

2.for循环遍历字符串:

3.遍历[1,10):

4.打印5个星星:

5.打印5行5列星星 :

(三)for...else循环

(四)range()函数

1.左闭右开区间:

2.设置区间步长:

3.结合 range() 和 len() 函数以遍历一个序列的索引:

(五)break和continue

1.break终止循环:

2.continue遇到条件跳过:

(六)pass语句

pass使用案例:

四、迭代器

代码示例:


一、编程第一步——斐波那契数列

a = 0
b = 1
while b < 10:
    print(b, end=',')
    a, b = b, a + b

运行结果:

二、条件控制

(一)if/else语句

if 条件1:

        运行结果1

elif 条件2:

        运行结果2

else:

        运行结果3

判断狗狗的年龄:

age = int(input('请输入狗狗的年龄:'))
if age <= 0:
    print('输入错误!')
elif age == 1:
    print('相当于14岁的人')
elif age == 2:
    print('相当于22岁的人')
elif age > 2:
    human = 22 + (age - 2) * 5
    print('对应人类的年龄为:', human)

运行结果:

 (二)多层if/else嵌套

判断数字能否被2或3整除:

num = int(input('请输入一个整数:'))
if num % 2 == 0:
    if num % 3 == 0:
        print('数字既能被2整除,也能被3整除')
    else:
        print('数字能被2整除,但是不能被3整除')
else:
    if num % 3 == 0:
        print('数字能被3整除,但是不能被2整除')
    else:
        print('数字不能被2和3整除')

 (三)match...case匹配——python3中新增

根据数字判断星期:

num = int(input('请输入1~7之间的整数:'))
match num:
    case 1:
        print('星期一')
    case 2:
        print('星期二')
    case 3:
        print('星期三')
    case 4:
        print('星期四')
    case 5:
        print('星期五')
    case 6:
        print('星期六')
    case _:
        print('星期日')

 case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。

三、循环语句

(一)while循环

在 Python 中没有 do..while 循环

1.循环+2:

num = int(input('请输入一个数字:'))
while num < 20:
    print(num, end=',')
    num += 2

2.while计算1~100的和:

num = 0
counter = 1
while counter <= 100:
    num = num + counter
    counter += 1
print('1~100之间的和为:%d' % num)  # 1~100之间的和为:5050

3.无限循环:

num = 1
while num == 1:
    count = int(input('请输入一个数字:'))
    print('数字为', count)

4.while...else循环:

count = 1
while count <= 10:
    print('count的值为:', count)
    count += 1
else:
    print('count超出范围!')

5.猜数字游戏:

num = 12
guessnum = -1
print('数字猜谜游戏:')
while guessnum != num:
    guessnum = int(input('请输入猜测的数字:'))
    if guessnum > num:
        print('猜大了!')
    elif guessnum < num:
        print('猜小了!')
    else:
        print('猜对了!')

6.判断狗狗年龄代码优化:

dogAge = 16
age = -1
while age <= dogAge:
    age = int(input('请输入狗狗的年龄(<=16):'))
    if age <= 0:
        print('输入错误!')
    elif age == 1:
        print('相当于14岁的人')
    elif age == 2:
        print('相当于22岁的人')
    elif 2 < age <= 16:
        human = 22 + (age - 2) * 5
        print('对应人类的年龄为:', human)
    else:
        print('年龄超过狗狗寿命范围!')

 (二)for循环

for <变量> in <序列>:

         <代码段>

else:

        <代码段>

1.for循环遍历列表:

# for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
sites = ['java', 'mysql', 'oracle', 'hadoop']
for tup in sites:
    print(tup, end=',')

运行结果:

2.for循环遍历字符串:

string = 'hello'
for i in string:
    print(i)

运行结果:

3.遍历[1,10):

for i in range(1, 10):
    print(i, end='\t')

运行结果:

4.打印5个星星:

for i in range(5):
    print('*')

运行结果:

5.打印5行5列星星 :

for i in range(5):
    print('*'*5)

运行结果:

(三)for...else循环

for i in range(5):
    print('*'*5)
else:
    print('打印完毕!')

(四)range()函数

在之前的代码中已经有部分range()函数的功能实现,range()函数还有其他的功能

1.左闭右开区间:

for i in range(5, 10):
    print(i)

运行结果:

2.设置区间步长:

for i in range(1, 10, 2):
    print(i)

 运行结果:

for i in range(-1, -15, -3):
    print(i)

运行结果:

3.结合 range() 和 len() 函数以遍历一个序列的索引:

sites = ['java', 'mysql', 'oracle', 'hadoop']
for i in range(len(sites)):
    print(i, sites[i])

 运行结果:

(五)break和continue

break 语句可以跳出 for 和 while 的循环体。如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

 

continue 语句被用来告诉 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

1.break终止循环:

num = 10
while num > 1:
    num -= 1
    if num % 2 == 0:
        break
    print(num)

运行结果:

判断1~100以内的质数:

for i in range(1, 101):
    for x in range(2, i):
        if i % x == 0:
            break
    else:
        print(i, end=',')

 运行结果:

2.continue遇到条件跳过:

num = 10
while num > 1:
    num -= 1
    if num % 2 == 0:
        continue
    print(num)

运行结果:

(六)pass语句

pass是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句,相当于输出程序中continue的结果

pass使用案例:

for i in 'ncidsijvb':
    if i == 'i':
        pass
        print('执行pass')
    print(i)

运行结果:

四、迭代器

迭代是Python最强大的功能之一,是访问集合元素的一种方式。

迭代器是一个可以记住遍历的位置的对象。

迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

迭代器有两个基本的方法:iter()next()

字符串,列表或元组对象都可用于创建迭代器

代码示例:

下面代码的运行结果一样:

sites = [1, 2, 3, 4]
for i in sites:
    print(i)
#####################################

sites = [1, 2, 3, 4]
it = iter(sites)
for i in it:
    print(i)

#####################################

import sys

sites = [1, 2, 3, 4]
it = iter(sites)
while True:
    try:
        print(next(it))
    except StopIteration:
        sys.exit()

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/181461.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java:Idea创建项目和Spring工程基本使用

一、创建项目 1、创建新的空的项目&#xff1a; Empty Project–next 2、定义项目的名称&#xff0c;并指定位置 3、对项目进行设置&#xff0c;JDK版本、编译版本 4、添加模块信息 5、修改maven路径 6、项目目录结构 二、搭建Spring的框架 1、在核心配置文件中添加Spring的j…

C++11 并发指南五(stdcondition_variable 详解)

C11 并发指南五(std::condition_variable 详解) 文章目录C11 并发指南五(std::condition_variable 详解)std::condition_variable 类介绍std::condition_variable_any 介绍std::cv_status 枚举类型介绍std::notify_all_at_thread_exit前面三讲《 C11 并发指南二(std::thread 详…

二叉树简单解析(1)

&#x1f340;本人简介&#xff1a; 吉师大一最爱逃课的混子、 华为云享专家、阿里云专家博主、腾讯云自媒体分享计划博主、 华为MindSpore优秀开发者、迷雾安全团队核心成员&#xff0c;CSDN2022年运维与安全领域第15名 &#x1f341;本人制作小程序以及资源分享地址&#x…

英语学习打卡day7

2023.1.27 1.ironically adv.具有讽刺意味的是;反讽地&#xff0c;讽刺地 Ironically, his cold got better on the last day of his holiday. 2.bequeath vt.遗赠;把…遗赠给;把… .传给 (比give更正式) bequeath sb sth bequeath sth to sb Don’t bequeath the problem …

JDK17 || JDK 8 完美 卸载 教程 (Windows版)

文章目录一、卸载jdk程序1 . 找到控制面板2. 卸载程序3. 找到JDK 相关的程序4. 右键 选择卸载程序5. 下一步 选择 是6.下一步 选择 是二、安装 新版 JDK三、如果不想再使用jdk环境结语一、卸载jdk程序 1 . 找到控制面板 2. 卸载程序 3. 找到JDK 相关的程序 4. 右键 选择卸载程…

IDEA界面和控制台的滚动条颜色不明显?赶快换一个吧!

前言 不知道大家是否和我一样有这么一个烦恼&#xff1a; IDEA自带的滚动条颜色很暗&#xff0c;配上一些主题颜色搭配很难发现。 所以今天就想着怎么可以修改滚动条颜色&#xff0c;首先去网上搜了搜都是什么鼠标滚轮加shift滚动&#xff0c;一点也不实用 偶然看到了个不错的…

【青训营】Go的BenchMark的使用

本文内容总结于 字节跳动青年训练营 第五届后端组 Go自带了一些性能测试工具&#xff0c;其中BenchMark是较为重要的一个。 我们以计算斐波那契数列的示例来展示BenchMark的使用 package Benchmarkimport "testing"func Fib(n int) int {if n < 2 {return n}ret…

OpenCV-PyQT项目实战(1)安装与环境配置

本系列从零开始实战解说基于 PyQt5 的 OpenCV 项目开发。 欢迎关注『OpenCV-PyQT项目实战 Youcans』系列&#xff0c;持续更新中 OpenCV-PyQT项目实战&#xff08;1&#xff09;安装与环境配置 OpenCV-PyQT项目实战&#xff08;2&#xff09;OpenCV导入图像 文章目录1. PyQt5 …

初识图像分类——K近邻法(cs231n assignment)

作者&#xff1a;非妃是公主 专栏&#xff1a;《计算机视觉》 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 专栏系列文章 Cannot find reference ‘imread‘ in ‘init.py‘ error: (-209:Sizes of input arguments…

ppt神器islide 第1节 初步接触强大的工具-资源篇

ppt神器islide 第1节 初步接触强大的工具1 PPT大神的课程总结1.1 骨架篇1.2 色彩篇1.3 对齐篇1.4 对比篇1.5 修饰篇1.6 字体篇1.7 素材篇1.8 线条篇1.8.1 可以随意画线条&#xff0c;填充空白1.8.2 在字体上画线条&#xff0c;做成艺术字1.8.3 做对称线条&#xff0c;比如递进三…

[Vulnhub] DC-3

下载链接&#xff1a;DC-3 DC-3需要 把IDE里面的改成IDE 0:0 不然无法打开 知识点&#xff1a; Joomla cms 3.7.0 sql注入漏洞cmseek工具探测cms指纹john解密proc_popen反弹shellpython -m http.server开启http服务 & wget远程下载ubuntu16.0.4 Linux 4.4.0-21 系统漏…

使用OpenAI的Whisper 模型进行语音识别

语音识别是人工智能中的一个领域&#xff0c;它允许计算机理解人类语音并将其转换为文本。该技术用于 Alexa 和各种聊天机器人应用程序等设备。而我们最常见的就是语音转录&#xff0c;语音转录可以语音转换为文字记录或字幕。 wav2vec2、Conformer 和 Hubert 等最先进模型的最…

无穷小的比较——“高等数学”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容是无穷小的比较&#xff0c;下面&#xff0c;就让我们一起进入高等数学的世界吧 回顾 定义 性质 定理 定理1&#xff1a; 定理2&#xff1a;等价无穷小替换定理 常用的等价无穷小 例题 小结 回顾 两个无穷小的商当然不一定还…

Android深入系统完全讲解(38)

9.6 配置 native 方法 9.6.1 CMakeLists.txt 文件中内容&#xff0c;配置生成一个 so 库add_library( # Sets the name of the library. native-lib # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). src/main/cpp/native…

一刷代码随想录——数组

概念数组是存放在连续内存空间上的相同类型数据的集合连续&#xff1a;增删需移动后续元素&#xff0c;删除的本质是覆盖类型&#xff1a;相同用数组&#xff0c;不同用结构数组下标从0开始C中二维数组连续分布vector的底层实现是array&#xff0c;严格来讲vector是容器&#x…

C++11 并发指南四( 详解三 stdfuture stdshared_future)

C11 并发指南四( 详解三 std::future & std::shared_future) 文章目录C11 并发指南四( 详解三 std::future & std::shared_future)std::future 介绍std::future 成员函数std::shared_future 介绍std::future_error 介绍其他与 std::future 相关的函数介绍其他与 std::f…

SWIFT Framework .NET 2023.1 Crack

SWIFT 组件 SWIFT Components 多年来一直致力于银行机构软件、在线交易软件、CRM 和零售和商业解决方案中的计费应用程序&#xff0c;以及医药和高度关键任务的 24/7 运营应用程序。作为定制银行解决方案的开发商&#xff0c;SWIFT Components 拥有所有银行产品和部门的专业知识…

【python从零入门 | 03】基本数据类型之“除法“

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 目

设置/恢复系统隐藏文件 - Windows系统

设置/恢复系统隐藏文件 - Windows系统前言普通隐藏文件显示文件设置/取消隐藏系统隐藏文件显示文件设置/取消隐藏前言 本文介绍Windows系统如何设置/恢复隐藏文件&#xff0c;隐藏文件包含普通隐藏文件和系统隐藏文件&#xff0c;系统隐藏文件一般是受保护的系统文件&#xff…

Android 蓝牙开发——Avrcp协议(十二)

SDK路径&#xff1a;frameworks/base/core/java/android/bluetooth/ 服务路径&#xff1a;packages/apps/Bluetooth/src/com/android/bluetooth/ 在使用协议类的时候无法找到该类&#xff0c;由于安卓源码中关于蓝牙协议的 Client 部分或相关接口都被 hide 给隐藏掉了&#xf…