Python程序控制结构(二)

本文详细介绍了Python中的循环语句,包括while循环和for循环,以及循环嵌套的使用。通过多个实例展示了如何计算整数和、判断奇偶性、生成水仙花数和素数,以及实现九九乘法表等。同时强调了避免死循环的重要性。
摘要由CSDN通过智能技术生成

1 循环语句

循环语句用于重复执行某段程序代码,直到满足特定条件为止。在Python语言中,循环语句有以下两种形式。

  • while 循环语句
  • for 循环语句

1.1 while 循环语句

while 循环语句是用一个表达式来控制循环的语句,它的一般形式为:

while 表达式:
	语句块

当表达式的返回值为真时,执行语句块(或称为“循环体”),然后重新判断表达式的返回值,直到表达式的返回值为假时,退出循环,具体流程图如下图所示。
while循环语句流程图
【例1-1】用while循环语句实现计算1~99的整数和。

n = 1
sum = 0
while(n <= 99):
    sum += n
    n += 1
print("1-99的整数和是:",sum)

运行结果如下:

1-99的整数和是: 4950

【例1-2】设计一个小游戏,让玩家输入一个数字,程序判断是奇数还是偶数。

prompt = '输入一个数字,我将告诉你,它是奇数,还是偶数'
prompt += '\n输入“结束游戏”,将退出本程序:'
exit = '结束游戏'    #退出指令
content = ''    #输入内容
while content != exit:
    content = input(prompt)
    if content.isdigit():    #isdigit()函数用于检测字符串是否只由数字组成
        number = int(content)
        if(number % 2 == 0):
            print('该数是偶数')
        else:
            print('该数是奇数')
    elif content != exit:
        print('输入的必须是数字')

代码运行示例:

输入一个数字,我将告诉你,它是奇数,还是偶数
输入“结束游戏”,将退出本程序:7
该数是奇数
输入一个数字,我将告诉你,它是奇数,还是偶数
输入“结束游戏”,将退出本程序:8
该数是偶数
输入一个数字,我将告诉你,它是奇数,还是偶数
输入“结束游戏”,将退出本程序:结束游戏

在编写while 循环语句时,一定要保证程序正常结束,否则会造成“死循环”(或“无限循环”)。例如,在下面的代码中,i的值永远小于100,运行后程序将不停地输出0.

i = 0
while i < 100:
    print(i)

1.2 for 循环语句

for 循环语句是最常用的循环语句,一般用在循环次数已知的情况下,它的一般形式为:

for 迭代变量 in 对象:
	语句块

其中,迭代变量用于保存读取出的值;对象为要遍历或迭代的对象,该对象可以是任何有序的序列对象,如字符串、列表和元组等;被执行的语句块也称为“循环体”。具体流程图如下图所示。
for循环语句流程图
【例1-3】用for循环语句实现计算1~99的整数和。

sum = 0
for n in range(1,100):    #range(1,100)用于生成1到100(不包括100)的整数
    sum += n
print("1到99的整数和是:",sum)

代码运行结果如下:

199的整数和是: 4950

【例1-3】中用到了range()函数,该函数的具体用法如下:

  • range(stop):生成从0开始到stop结束(不包含stop)的一系列值。比如,range(3)生成的数值是0、1、2。
  • range(start, stop):生成从start开始到stop结束(不包含stop)的一系列数值。比如,range(2, 5)生成的数值是2、3、4。
  • range(start, stop, step):生成从start开始到stop结束(不包含stop)、步长为step的一系列数值。比如,range(2,10,2)生成的数值是2、4、6、8,range(10,1,2)生成的数值是10、8、6、4、2。
    【例1-4】输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因
  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值