Python小技巧1:for循环的if...else条件判断

2023-12-14 00:44:55

假如有这样一个需求:有一个由多个正整数组成的序列,要求判断序列中是否存在奇数。如果存在,则打印出来;如果不存在,则提示不存在奇数。

一般来说,可能需要使用如下步骤来计算:

第一步:使用for循环遍历这个序列,如果找到奇数,就保存并退出;

第二步:判断第一步是否有保存到奇数,有就打印出来,没有就提示不存在奇数。

可能的源码如下:

nums = [2, 4, 6, 8, 9]

odd_num=-1
for n in nums:
    if n % 2 == 1:
        odd_num=n
        break
if odd_num > 0:
    print(odd_num)
else:
    print("不存在奇数!")

这么实现,逻辑也不算复杂,但显的有些冗余:一方面,多定义了一个变量odd_num;另一方面,在for循环之后又多做了一次if判断。

实际上,Python提供了一个更简洁的for...else语法结构。改写后的代码如下:

nums = [2, 4, 6, 8, 9]

for number in nums:
    if n % 2 == 1:
        print(n)
        break
else:
    print("不存在奇数!")

是不是简洁多了?

文章来源:https://blog.csdn.net/warmspace2008/article/details/134901421
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。