Python3循环

Python中while语句的一般形式:

while 判断条件:

       语句

 

同样需要注意冒号和缩进,另外在Python中没有do…while循环

下面的实例计算1到100总和

##calc.py
n = 100sum = 0
counter = 1
while counter <= n:sum = sum + countercounter += 1print("total from 1 to 100 : %d",sum)

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 calc.py

total from 1 to 100 : %d 5050

 

while循环中使用else语句

在while…else在条件语句为false时执行els语句块

#while.py
count = 0
while count < 5:print(count," < 5")count = count + 1
else :print(count ," >= 5")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 while.py

0  < 5

1  < 5

2  < 5

3  < 5

4  < 5

5  >= 5

 

for循环:

Python for循环可以遍历任何序列的项目,如一个列表或一个字符串

for循环的 一般格式如下

for <variable> in <sequence>:<statement>
else:<statement>

实例:

break语句用于跳出当前循环体:

##break.py
sites = ["Baidu","Google","Runoob","Taobao"]
for site in sites:if site == "Runoob":print("cainiao!")breakprint("loop data " + site)
else:print("Having no loop data!")
print("loop end!")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3.5 break.py

loop data Baidu

loop data Google

cainiao!

loop end!

range()函数

如果你需要遍历数字序列,可以使用内置的range()函数,它会生成数列,例如:

 

 

也可以使range以指定数字开始并指定不同的增量,(甚至可以是负数,有时这也叫步长)

 

  

负数:

 

 

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

 

 

 

还可以使用range()函数来创建一个列表:

 

 

 

break和continue语句及循环中的else子句

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

#else.py
for letter in 'Runoob':if letter == 'b':break;print('the current letter : ',letter)print("the next example")var = 10
while var > 0:print('the current variable : ',var)var = var - 1if var == 5:break;
print("GOOF bye!")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3 else.py

the current letter :  R

the current letter :  u

the current letter :  n

the current letter :  o

the current letter :  o

the next example

the current variable :  10

the current variable :  9

the current variable :  8

the current variable :  7

the current variable :  6

GOOF bye!

 

continue语句被用来Python跳出当前循环块的剩余语句,然后继续下一轮循环。

循环语句可以有else子句,它在穷尽列表(for循环)或条件变为false(以while循环)导致循环终止时被执行,但循环被break终止时不执行。

下列是查询质数的循环例子:

##prime.py
for n in range(2,10):for x in range(2,n):if n % x == 0:print(n," == ",x, '*', n//x )breakelse:print(n," is prime")

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3 prime.py

2  is prime

3  is prime

4  ==  2 * 2

5  is prime

6  ==  2 * 3

7  is prime

8  ==  2 * 4

9  ==  3 * 3

 

pass语句

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

pass不做任何事情,一般用作占位语句:

#pass.py
for letter in 'Runoob':if letter == 'o':passprint('execute pass block')print('the current letter : ',letter)print("Good bye!")

运行结果:

 robot@ubuntu:~/wangqinghe/python/20190826$ python3 pass.py

the current letter :  R

the current letter :  u

the current letter :  n

execute pass block

the current letter :  o

execute pass block

the current letter :  o

the current letter :  b

Good bye!

 

pass只是为了防止语法的错误

pass就是一条空语句,在代码段中或定义函数时,如果没有内容,或者就先不做任何处理,直接跳过,就可以先使用pass

 

十进制转换:

#translate.py
while True:number = input('please input a integer(enter Q exit ):')if number in ['q','Q']:breakelif not number.isdigit():print("input error,please continue input : ")continueelse:number = int(number)print("decimal --> hexadecimal: %d -> 0x%x"%(number,number))print("decimal --> octonary: %d -> 0x%o"%(number,number))print("decimal --> binary: %d -> "%number,bin(number))

运行结果:

robot@ubuntu:~/wangqinghe/python/20190826$ python3 translate.py

please input a integer(enter Q exit ):9

decimal --> hexadecimal: 9 -> 0x9

decimal --> octonary: 9 -> 0x11

decimal --> binary: 9 ->  0b1001

please input a integer(enter Q exit ):18

decimal --> hexadecimal: 18 -> 0x12

decimal --> octonary: 18 -> 0x22

decimal --> binary: 18 ->  0b10010

please input a integer(enter Q exit ):q

转载于:https://www.cnblogs.com/wanghao-boke/p/11414083.html

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

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

相关文章

Python3迭代器和生成器

迭代器 迭代是Python最强大的功能之一&#xff0c;是访问元素集合的一种方法。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问&#xff0c;直到所有的元素被访问完结束&#xff0c;迭代器只能向前不会后退。 迭代器有两个基本方法&#xff0c;…

Python3函数

函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关功能的代码段。 函数能提高应用的模块性&#xff0c;和代码的重复使用率。 定义一个函数 可以定义一个由自己想要功能的函数&#xff0c;以下是简单规则&#xff1a; l 函数代码块是以def关…

epoll函数

epoll是Linux下多路复用IO接口select/poll的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率&#xff0c;因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被侦听的文件描述符集合&#xff0…

Python3数据结构

列表&#xff1a; Python列表是可变的&#xff0c;这是它区别于字符串数组和元组的最重要的特点。列表可以修改&#xff0c;而字符串和元组不能。 以下是Python中列表的描述方法&#xff1a; 方法 描述 list.append(x) 将元素添加到列表结尾 list.extend(L) 通过添加指定列…

Python3输入输出

Python两种输出值的方式&#xff0c;表达式语句和print()函数。 第三种方式是使用文件对象的write()方法&#xff0c;标准输出文件可以用sys.stdout的引用。 如果你希望输出的形式更加多样&#xff0c;可以使用str.fomat()函数来格式化输出值。 如果你希望将输出的值转化成字符…

Python3正则表达式

正则表达式是一个特殊的字符序列&#xff0c;他能帮助你方便的检查一个字符串是否与某种模式匹配。re.match函数 re.match尝试从字符串的起始位置匹配一个模式&#xff0c;如果不是起始位置匹配成功的话&#xff0c;match()就返回一个none。 函数语法&#xff1a; re.match(pat…

signal()函数

函数原型 void (*signal(int sig,void(*func)(int)))(int); 指定使用sig指定的信号编号处理信号的方法。参数func指定程序可以处理信号的三种方式之一&#xff1a; l 默认处理(SIG_DFL)&#xff1a; 信号由该特定信号的默认动作处理l 忽略信号&#xff08;SIG_IGN&a…

【C++学习之路】第一章——C++核心方法总论

1 C核心方法总论 1.1 核心思想 通过实际项目来学习编程&#xff0c;更高效掌握编程规则&#xff0c;以及明白各种语法规则的实际应用。 实验思想&#xff1a;任何C的参考资料都不可能覆盖你遇到的所有问题&#xff0c;这个时候&#xff0c;最好的办法就是&#xff0c;编辑代…

【学会如何学习系列】从婴儿到大学——学习的本质从未改变过

从婴儿到大学——学习的本质从未改变过 从我们出生一直到现在&#xff0c;其实&#xff0c;学习的本质从来都没有改变过&#xff0c;并且&#xff0c;婴儿时期的我们&#xff0c;是学习能力最强的时候&#xff0c;随着我们不断长大&#xff0c;外界的诱惑越来越多&#xff0c;…

【Verilog HDL学习之路】第二章 Verilog HDL的设计方法学——层次建模

2 Verilog HDL的设计方法学——层次建模 重要的思想&#xff1a; 在语文教学中&#xff0c;应该先掌握核心方法论&#xff0c;再用正确的方法论去做题目&#xff0c;这样能够逐渐加深对于方法论的理解&#xff0c;做题的速度和准确率也会越来越高。在Verilog HDL中&#xff0c…

【Verilog HDL】第四章 模块的端口连接规则——污水处理模型

先放上连接规则的简图&#xff0c;再详细解释 1. 构建模型——污水处理之流水模型 我们先将上述结构构件一个简单模型&#xff0c;以帮助我们理解。 污水&#xff1a;输入数据净水&#xff1a;输出数据双向数据暂不讨论&#xff0c;取输入和输出的交集即可污水处理厂&…

【Verilog HDL】从逻辑电路图到门级建模——人工翻译的方法论

从左到右&#xff0c;从上到下 先搞定缓冲/非门&#xff0c;再写与/或门 1. 实例解读 先以四选一数据选择器进行说明 对于数字逻辑的部分不再说明&#xff0c;直接进行逻辑电路图到Verilog门级建模的人工翻译过程的描述。 1.1 端口和线网分析 确定输入/输出端口 输入端口 …

【Verilog HDL】语句的并发执行

1. 实践得到的启发 先从一个简单的现象得出结论&#xff0c;Verilog语句是并发执行的&#xff01; 同时&#xff0c;这也是**$monitor系统任务为全局有效**的一个重要支持因素&#xff0c;如果没有并发&#xff0c;它是完不成这项功能的实现的。 众所周知&#xff0c;高级语…

【数字逻辑】第四章 组合逻辑电路:端口设计 端口拓展的方法

1. 端口设计的方法 1.1 数据选择器 以四选一数据选择器为例&#xff0c;需要的不同接口类型为 输入端口 数据输入端口地址输入端口使能端&#xff08;控制与拓展&#xff09; 输出端口 数据输出端口 2. 端口拓展的方法——层次建模思想 2.0 两个拓展方向 2.0.1 “数组型…

【Verilog HDL】第三章 reg和net及其一组类型的区别——充分运用实验思维

0 确定问题的讨论层级与范围 本文讨论的层次是 数字逻辑与Verilog HDL语言 讨论的范围是&#xff1a; 数据存储而不是讨论逻辑 1 线网类型 1.1 wire类型 这个暂时没什么好说的&#xff0c;一般常用的就是wire类型&#xff0c;需要注意的是&#xff1a; 默认是标量&…

【C/C++ 汇编语言 Verilog】越界截断——数据越界问题的多角度分析

0 前言 0.1 讨论层级和范围 讨论层级 计算机底层&#xff1a;硬件层次与汇编指令层次信息与二进制位 讨论范围 信息的存储与运算在汇编语言与Verilog HDL中的联系与区别事实上&#xff0c;数据越界截断问题&#xff0c;在计算机体系的任何层次&#xff0c;都可能发生&#xf…

【VS C++ 2010】查看内存的方法详解

1 示例代码 对于以下代码&#xff1a; int main() {int a 100010001000;int b 100;cout << "a " << a << " " << &a << endl;cout << "b " << b << " " << &b…

【汇编语言】上机实验 win7/8/10 64位系统 进入32位DOS模式 实现dubug/edit/masm/link功能

1 软件下载和安装 下载并安装DOSBox软件&#xff0c;注意&#xff0c;不要装在C盘上&#xff0c;装在其他盘上 【备注】软件直接百度搜索即可下载Debug.exe文件 【备注】百度搜索“Debug 64位 下载” 对于下载后得到的debug.exe文件 将这个文件拷贝到磁盘根目录下&#xff0c…

【数字逻辑 Verilog】全面剖析数据选择器——从基础到拓展,从理论到设计的实现,从表面到本质

0 前言 0.1 使用环境 EDA工具&#xff1a;Vivado 2017.4硬件描述语言&#xff1a;Verilog HDL 0.2 涉及知识 数字逻辑Verilog 1 基础模块&#xff1a;一位四选一数据选择器 1.1 设计部分&#xff1a;层次建模 1.1.1 需求分析 设计一个一位的四选一数据选择器&#xff0…

【计算机网络】手动配置hosts文件解决使用GitHub和Coursera网站加载慢/卡的问题

目录0 前言1 打开hosts1.1 以管理员身份运行记事本1.2 打开hosts2 找到实际地址2.1 打开cmd2.2 找到网址3 替换地址3.1 修改hosts文件3.2 刷新4 后续内容的完善0 前言 本文是针对纯小白读者&#xff0c;没有涉及到任何的专业知识&#xff0c;你只需要按照步骤操作即可。 同时…