Python语言系统学习14:循环语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingwufeiyang12346/article/details/89008691

从事嵌入式系统软硬件设计工作已有将尽20年的时间,在进行硬件目标板调试时,常需要上位机软件支持。在进行上位机软件程序的设计时,采用过VB、VB.net和C++等多种语言,偶然的机会发现Python,接触后,立刻感觉到它的强大,现在我的上位机软件编程只用Python。本系列教程将从基于硬件的上位机软件设计的角度着手,系统介绍Python语言,希望读者通过本系列教程的学习,能够对Python语言立刻学以致用,真正将所学知识应用到项目实践中。

开发环境:Visual Studio Code

操作系统:Microsoft Window 7

Python版本:3.7

参考教材:Python快速编程入门,黑马程序员,人民邮电出版社,2017年9月第1版

备注:教程仅适合初学者,高手请绕过
 

一、用for语句判断给定的数是否为质数

一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除(2, 3, 5, 7等),换句话说就是该数除了1和它本身以外不再有其他的因数。

num = int(input("请输入一个数字: "))
 
# 质数大于 1
if num > 1:
   # 查看因子
   for i in range(2,num):
       if (num % i) == 0:
           print(num,"不是质数")
           print(i,"乘于",num//i,"是",num)
           break
   else:
       print(num,"是质数")       
# 如果输入的数字小于或等于 1,不是质数
else:
   print(num,"不是质数")

注解:

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

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

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

>>>for i in range(5):
...     print(i)
...
0
1
2
3
4

你也可以使用range指定区间的值:

>>>for i in range(5,9) :
    print(i)
 
    
5
6
7
8

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

>>>for i in range(0, 10, 3) :
    print(i)
 
    
0
3
6
9

二、用while语句判断给定的数是否为质数

num = int(input("输入一个数字:"))
#定义i
i = 2
while i < num:
    s = num % i
    if s == 0:
        print("{}能被除的数其中有{}".format(num,i))
        break
    else:
        i += 1
if num == i:
    print("是质数")
else:
    print("不是质数")

注解:

1、while语句的一般形式:

while 判断条件:
    语句

2、我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下,可以使用 CTRL+C 来退出当前的无限循环。

var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)

3、while 循环使用 else 语句,在 while … else 在条件语句为 false 时执行 else 的语句块:

count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")

执行以上脚本,输出结果如下:

0  小于 5
1  小于 5
2  小于 5
3  小于 5
4  小于 5
5  大于或等于 5

三、输出指定范围内所有的素数

lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))
 
for num in range(lower,upper + 1):
    # 素数大于 1
    if num > 1:
        for i in range(2,num):
            if (num % i) == 0:
                break
        else:
            print(num)

注解:

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

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

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

4、pass是空语句,是为了保持程序结构的完整性,pass 不做任何事情,一般用做占位语句。

猜你喜欢

转载自blog.csdn.net/qingwufeiyang12346/article/details/89008691