python函数如果没有return语句(python函数中可以没有return语句)

python函数如果没有return语句(python函数中可以没有return语句)一年四季 循环往复 说到底就是一个循环的问题 for 语句实际上解决的是循环问题 在很多的高级语言中都有 for 循环 for loop for 语句其实是编程语言中针对可迭代对象的语句 它的主要作用是允许代码被重复执行 看一段来自维基百科的介绍 In computer science a for loop or simply for loop is a control flow

大家好,我是讯享网,很高兴认识大家。



一年四季,循环往复:说到底就是一个循环的问题

for语句实际上解决的是循环问题。在很多的高级语言中都有for循环(for loop)。

for语句其实是编程语言中针对可迭代对象的语句,它的主要作用是允许代码被重复执行。看一段来自维基百科的介绍:

In computer science, a for-loop (or simply for loop) is a control flow statement for specifying iteration, which allows code to be executed repeatedly。(作用:介绍了for循环是什么?)

A for-loop has two parts: a header specifying the iteration, and a body which is executed once per iteration. (for循环是什么构成的?)

  • 是什么:在计算科学中,是针对特殊迭代对象的控制流语句,能够重复执行
  • 怎么构成:一个头部(是可迭代对象)+ 每个对象的执行

本文的主要内容如下,其他Python入门内容请参考:
简洁且实用Python一行代码,40个案例讲解
6000+字:详解python集合set,建议珍藏!!
如何学习Python数据分析:Peter帮你整理了一份资料!

讯享网

可迭代对象(Iteratable Object) 是能够一次返回其中一个成员的对象,比如我们常用的字符串、列表、元组、集合、字典等等之类的对象都属于可迭代对象,获取到这些对象我们就可以用for循环来进行操作。

简单来理解,任何你可以循环遍历的对象都是可迭代对象

如何判断一个Python对象是不是可迭代对象?通常是使用 isinstance()函数来判断对象是否是可迭代对象

from collections import Iterable

讯享网

小结:在Python常见的数据对象中,只有数字是不可迭代的,字符串、元组、列表、字典等都是可迭代的

一次遍历打印字符串中的每个元素

讯享网for i in “python”: 
    print(i)    
p
y
t
h
o
n

在看另一个例子:

讯享网for i in “abcdefg”:
    print(i)
a
b
c
d
e
f
g

不管是单层列表还是多层的嵌套列表,我们都可以遍历打印出来:

讯享网# 单层列表

a = [“小明”,“小红”,“小张”,“小王”]

for i in a:
    print(i)  # 打印列表中的每个元素
小明
小红
小张
小王
讯享网# 嵌套列表

b = [“小明”,“小红”,“小张”,“小王”,[19,20,18,23]]

for i in b:
    print(i)
小明
小红
小张
小王
[19, 20, 18, 23]

上面的例子中最后一个元素当做整体被打印出来,如果也想分开打印呢?

讯享网def qiantao(x):   # 定义一个函数
    for each in x:  # 遍历每个原始列表中的每个元素
        if isinstance(each, list):  # 判断每个元素是否是列表:isintance
            qiantao(each)  # 如果是列表,递归执行函数qiantao()
        else:
            print(each)  # 如果不是列表,就直接打印该元素
            
b = [“小明”,“小红”,“小张”,“小王”,[19,20,18,23]]

# 调用函数,传入列表b
qiantao(b)  
小明
小红
小张
小王
19
20
18
23

元组tuple的循环和列表是类似的:

讯享网t = (“小明”,“小红”,“小王”)

for i in t:
    print(i)
小明
小红
小王

我们使用keys()、values()、items(),我们可以分别遍历字典的键、值和键值对。需要注意的是:遍历字典默认是遍历字典的键,先定义一个字典:

讯享网d = {“name”:“Peter”,“age”:20,“sex”:“male”,“address”:“china”}

遍历字典的键;

for i in d.keys():  # 遍历字典的键
    print(i)
讯享网name
age
sex
address
for i in d:  # 默认就是遍历键的取值
    print(i)
讯享网name
age
sex
address

遍历字典的值:

for i in d.values():  # 遍历字典的值
    print(i)
讯享网Peter
20
male
china

同时遍历字典的键和值

for i in d.items():  # 遍历字典的值
    print(i)
讯享网(‘name’, ‘Peter’)
(‘age’, 20)
(‘sex’, ‘male’)
(‘address’, ‘china’)

分别取出字典的键和值:

for k,v in d.items():
    print(k + ”—>“ + str(v))
讯享网name—>Peter
age—>20
sex—>male
address—>china

range函数是 Python 内置函数,用于生成一系列连续整数,多用于 for 循环中。

range(start,stop,step)
  • start:包含start,默认为0,可不写则默认为0
  • stop:不包含stop,必须写
  • 步长step可正可负,默认是1,不能为0

1、基础案例

讯享网range(10)  # 生成的是可迭代对象
range(0, 10)

默认开头是0

讯享网range(0,10)
range(0, 10)

指定开头为1

讯享网range(1,10)
range(1, 10)

下面是将结果展开成列表:

讯享网list(range(10))  # 不包含10(尾部)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

指定步长为2:

讯享网list(range(0,10,2))  # 不包含10,步长是2
[0, 2, 4, 6, 8]

总结:range函数是包含头部不包含尾部

讯享网for i in range(10):
    print(i)
0
1
2
3
4
5
6
7
8
9

2、找出100以内能够被5整除的数:

讯享网for i in range(101):  # 不包含101,0-100
    if i % 5 == 0:  # %表示求余数:余数为0则表示整除
        print(i,end=“、”)
0、5、10、15、20、25、30、35、40、45、50、55、60、65、70、75、80、85、90、95、100、

3、高斯求和

求出1到100的所有数之和

讯享网sum = 0

for i in range(1,101):
    sum = sum + i  # 每循环一次,sum就是这个数字
    
sum
5050

求出100以内奇数的和:

讯享网sum = 0

# 步长为2,从1开始:1,3,5,7…
for i in range(1,101,2):  
    sum = sum + i
    
sum
2500

求出100以内偶数的和:

讯享网sum = 0

# 步长为2,从2开始:2,4,6,8…
for i in range(2,101,2):  
    sum = sum + i
    
sum
2550

for语句中还可以再使用for语句:

讯享网for i in [“python”,“java”,“html”]:
    for j in i:
        print(i.upper(),j)    # upper():将字母变成大写
PYTHON p
PYTHON y
PYTHON t
PYTHON h
PYTHON o
PYTHON n
JAVA j
JAVA a
JAVA v
JAVA a
HTML h
HTML t
HTML m
HTML l
讯享网for i in [4,5,6]:
    for j in [1,2,3]:
        print(i*j)  # 实现任意两个数的乘法
4  # 4*1
8  # 4*2
12 # 4*3
5  # 5*1 
10 # 5*2
15 # 5*3
6  # 6*1
12 # 6*2
18 # 6*3

(1)上面我们提到能够被5整除的数:使用for循环和if来解决

讯享网five = []  # 定义空列表

for i in range(101):  # 不包含101,0-100
    if i % 5 == 0:  # %表示求余数:余数为0则表示整除
        five.append(i)  # 添加到列表中
        
five
[0,
5,
10,
15,
20,
25,
30,
35,
40,
45,
50,
55,
60,
65,
70,
75,
80,
85,
90,
95,
100]

(2)使用列表推导式如何实现呢?

讯享网[x for x in range(101) if x % 5 == 0]
[0,
5,
10,
15,
20,
25,
30,
35,
40,
45,
50,
55,
60,
65,
70,
75,
80,
85,
90,
95,
100]

也许你听过if-else,但是听到for-else语句吗?这也算是Python中的一个冷门知识点

讯享网for i in range(5):
    print(i)
else:
    print(“结束”)
0
1
2
3
4
结束

也就是说:for语句结束了依然会执行else的语句

讯享网for i in []:
    print(i)
    
else:
    print(“结束”)
结束

下面的例子中,当i除以3的余数是2的时候回跳出并终止整个for循环,后面的else就不会执行了

讯享网for i in range(10):
    print(i)
    if i % 3 == 2:
        break
else:
    print(“结束”)
0
1
2
讯享网for i in range(1,11):
    for k in range(1,i):
        print(k, end=“ ”)
    print(”\n”)
1 
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6 7
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8 9

如果我们想要倒过来,该如何实现呢?

讯享网for i in range(10,0,-1):
    for k in range(1,i):
        print(k, end=“ ”)
    print(”\n”)
1 2 3 4 5 6 7 8 9 
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

下面举个例子来说明如何实现99乘法表,如何玩转99乘法表参考以前的文章

直到今天,我终于学会99乘法表啦

讯享网for i in range(1,10):
    for j in range(1,i+1):  # 为了保证有4*4,也就是同个数字相乘的等式,需要让i出现,使用i+1
        print(’{}x{}={}’.format(j, i, i*j), end=“ ”)  # end的结束符号用空格
    print(”\n”)

END

未闻 Code·知识星球开放啦!

一对一答疑爬虫相关问题

职业生涯咨询

面试经验分享

每周直播分享

……

未闻 Code·知识星球期待与你相见

一二线大厂在职员工

十多年码龄的编程老鸟

国内外高校在读学生

中小学刚刚入门的新人

“未闻 Code技术交流群”等你来!

入群方式:添加微信“mekingname”,备注“粉丝群”(谢绝广告党,非诚勿扰!)

小讯
上一篇 2025-05-05 17:41
下一篇 2025-06-15 20:53

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/192292.html