else与for一块使用,不与if一块使用

问题描述:最近做计算机二级,看了一个找出两个整数之间的所有素数。

完整问题如下:键盘输入两个大于0的整数,按要求输出这两个整数之间(不包括这两个整数)的所有素数。素数又称质数,是指除了1和它本身以外不能被其他整数整除的数。

准确答案代码是:

复制代码
lower=int(input("请输入区间最小值:"))
upper =int(input("请输入区间最大值:"))
for num in range(lower+1,upper):
    if num>1:
        for i in (2,num):
            if (num%2) == 0:
                break
        else:
            print(num)

我们会发现里面的else并没有和if对齐,这是因为这里else是配合for、break一块使用的。

在 Python 中,else 语句可以与 for 循环一起使用,它会在for循环正常完成(即不被 break 中断)时执行。如果break一旦使用,break跳出最里面的循环,并且break后面的else也不会被执行。

类似用法还有在列表中寻找某一元素

代码如下:

复制代码
# 列表中的数据
my_list = [1, 2, 3, 4, 5]

# 要查找的目标元素
target = 3

# 使用 for 循环查找目标元素
for item in my_list:
    if item == target:
        print(f"找到了目标元素 {target}")
        break
else:
    print(f"未找到目标元素 {target}")
相关推荐
techdashen几秒前
Go 1.18+ slice 扩容机制详解
开发语言·后端·golang
froginwe115 分钟前
R 包:全面解析与高效使用指南
开发语言
zero.cyx8 分钟前
javaweb(AI)-----后端
java·开发语言
听风吹雨yu14 分钟前
YoloV11的pt模型转rknn模型适用于RK3588等系列
linux·python·yolo·开源·rknn
say_fall15 分钟前
泛型编程基石:C++ 模板从入门到熟练
java·开发语言·c++·编辑器·visual studio
@我们的天空20 分钟前
【FastAPI 完整版】路由与请求参数详解(query、path、params、body、form 完整梳理)- 基于 FastAPI 完整版
后端·python·pycharm·fastapi·后端开发·路由与请求
txinyu的博客21 分钟前
结合游戏场景解析UDP可靠性问题
java·开发语言·c++·网络协议·游戏·udp
djimon23 分钟前
06年老电脑复活Ubuntu14.04配置Python网站爬自动化
开发语言·python·自动化
雾岛听蓝27 分钟前
探索C++继承机制
开发语言·c++