Python实训_寻找100-999之间的水仙花数(包含条件语句、循环语句及代码实现)

个人主页我是弓长

系列专栏编程语言_Python

相关文章

一个普通的学习者

目录

一、实验目的

二、条件语句

2.1比较运算符

2.2逻辑运算符

2.3单分支结构if语句

2.4二分支语句if...else语句

2.5多分支语句if...elif...else语句

三、循环语句

3.1while语句

3.2for语句

3.3循环嵌套

3.4break语句和continue语句

四、水仙花数

五、实验步骤

六、代码实现

6.1具体代码

6.2运行结果


一、实验目的

  1. 掌握条件语句的使用
  2. 掌握循环语句的使用

二、条件语句

2.1比较运算符

又称为关系运算符

用于比较两端的操作数,结果为True或False

比较运算符

运算符说明形式
==等于:左值等于右值结果为True,否则为Falsea == b
!=不等于:左值不等于右值结果为True,否则为Falsea != b
>大于:左值大于右值结果为True,否则为Falsea > b
<小于:左值小于右值结果为True,否则为Falsea < b
>=大于等于:左值大于等于右值结果为True,否则为Falsea >= b
<=小于等于:左值小于等于右值结果为True,否则为Falsea <= b

2.2逻辑运算符

用于对多个条件进行逻辑计算

逻辑运算符

运算符说明形式结果
anda and b如果a的布尔值为True,返回b,否则返回a
ora or b如果a的布尔值为True,返回a,否则返回b
notnot aa为False时返回True,a为True时返回False

逻辑运算符进行逻辑运算的运算结果

表达式1表达式2表达式1 and 表达式2表达式1 or 表达式2not 表达式1
TrueTrueTrueTrueFalse
TrueFalseFalseTrueFalse
FalseTrueFalseTrueTrue
FalseFalseFalseFalseTrue

2.3单分支结构if语句

语法格式

if 条件:
    语句块

说明

  • 条件可以是布尔值、变量,也可以是比较表达式或逻辑表达式
  • 如果条件的值为True,则执行该语句块;如果条件的值为False,则跳过该语句块,继续执行后面的语句

2.4二分支语句if...else语句

语法格式

if 条件:
    语句块1
else:
    语句块2

说明

  • 条件可以是布尔值、变量,也可以是比较表达式或逻辑表达式
  • 如果条件的值为True,则执行语句块1;如果条件的值为False,则执行语句块2

条件表达式形式

表达式1 if 条件 else 表达式2

例:从键盘输入用户名和密码,判断输入的用户名和密码是否正确并输出

username = input("请输入用户名:")  # 输入用户名
password = input("请输入密码:")  # 输入密码
# 条件表达式形式
check = "输入正确" if username == "username" and password == "password" else "输入错误"
print(f"用户名和密码{check}")  # 输出

2.5多分支语句if...elif...else语句

语法格式

if 条件1:
    语句块1
elif 条件2:
    语句块2
...
else:
    语句块n

说明

  • 执行多分支语句时,程序依次判断条件的值,注意条件覆盖范围
  • 如果某个条件成立,则执行该条件对应的语句块,执行结束跳出多分支语句,继续执行其后代码;如果没有条件成立,则执行else对应的语句块
  • else语句可有也可无

三、循环语句

循环语句可以使程序重复地执行某些代码

3.1while语句

非确定次数循环是指不确定循环体执行次数的循环,只根据条件进行判断,条件不满足时才结束循环

while语句实现的条件循环是非确定次数循环

语法格式

while 条件:
    语句块

说明

  • 如果条件的值为True,则重复执行语句块;如果条件的值为False,循环终止
  • while循环必须有停止循环的途径,否则会无限循环

例:计算1+2+3+...+100等于多少

num = 1  # 定义变量
sum = 1  # 定义变量
while num < 100:  # while循环
    num += 1  # num改变
    sum += num  
print("1+2+3+...+100 =",sum)

3.2for语句

确定次数循环是指循环体对循环次数有明确的定义

for语句实现的遍历循环是确定次数循环

语法格式

for 循环变量 in 遍历结构:
    语句块

说明

  • for语句的循环执行次数是根据遍历结构的元素个数决定的
  • 每次从遍历结构中取出一个元素放在循环变量中,对于每个循环变量都只执行一次语句块
  • 遍历结构可以是range()函数,也可以是字符串、列表、元组等序列

常见的遍历结构

  1. 遍历结构是range()函数:start是计数的起始值,省略则从0开始;end是计数的结束值,不包括end本身,不能省略;step是步长,表示两个数之间的间隔,省略则步长为1
    for i in range(start, end, step):
        语句块
  2. 遍历结构是字符串、列表、元组等序列:object是序列
    for item in object:
        语句块

例:计算1+2+3+...+100等于多少

sum = 0  # 定义变量
for num in range(1,101,1):  # 遍历结构是range()函数
    sum += num
print("1+2+3+...+100 =",sum)

3.3循环嵌套

循环嵌套是指一个循环体中嵌入另一个循环

for循环中嵌套while循环语法格式:for语句开始循环后,每次循环都要执行缩进中的所有代码,while循环执行结束后,for循环的一次循环才执行结束

for 循环变量 in 遍历结构:
    语句块
    while 条件:
        while循环语句块

for循环中嵌套for循环语法格式:外层for语句开始循环后,每次循环都要执行缩进中的所有代码,内层for循环执行结束后,外层for循环的一次循环才执行结束

for 循环变量 in 遍历结构:
    语句块
    for 循环变量 in 遍历结构:
        内层for循环语句块

while循环中嵌套for循环语法格式:while语句开始循环后,每次循环都要执行缩进中的所有代码,for循环执行结束后,while循环的一次循环才执行结束

while 条件:
    语句块
    for 循环变量 in 遍历结构:
        for循环语句块

while循环中嵌套while循环语法格式:外层while语句开始循环后,每次循环都要执行缩进中的所有代码,内层while循环执行结束后,外层while循环的一次循环才执行结束

while 条件:
    语句块
    while 条件:
        内层while循环语句块

3.4break语句和continue语句

break语句说明

  • break语句用于终止当前的循环,一般与if语句一起使用,表示在某种条件下跳出循环
  • 如果使用嵌套循环,break语句会跳出本层循环,不会跳出外层循环

continue语句说明

  • continue语句用于跳出当前当次的循环,不执行循环体中的后续代码,直接进入下次循环

四、水仙花数

水仙花数也称为自恋数、自幂数。

水仙花数是指一个三位数,其各位数字的立方和确好等于该数本身

如153=1^{^{3}}5^{^{3}}3^{^{3}},则153是一个水仙花数

五、实验步骤

  1. 使用循环语句取出100到999之间的所有数。如果要找其他范围的水仙花数,更改range()函数范围即可

  2. 取出每个三位数的百位数、十位数和个位数

  3. 使用条件语句判断每个三位数百位数、十位数、个位数的三次方之和是否与其本身相等

  4. 相等则该三位数是水仙花数,输出

六、代码实现

6.1具体代码

print("100~999之间的水仙花数有:")
for num in range(100,1000):  # 循环语句
    one = num // 100  # 取出百位数
    two = num //10 % 10  # 取出十位数
    three = num % 10  # 取出个位数
    if num == (one ** 3) + (two ** 3) + (three ** 3):  # 条件语句
        print(num)  # 输出水仙花数

6.2运行结果

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值