python基础4 for循环

287 阅读1分钟

循环结构for循环

for循环

  • 比如当我们想要循环打印出某一列表的数据值时 用while循环时:
l1 = [1, 2, 3, 4, 5]
num = 0
while num < 5:
    print(l1[num])
    num += 1

用for循环时:

l1 = [1, 2, 3, 4, 5]
for i in l1:
    print(i)
  • 我们可以看到我们减少了代码的量但是表现出来的结果却是一致的,所以这就是for循环某些方面比while好用点语法结构更加简单,更擅长循环取值。

语法结构

for 变量名 in 可迭代的对象:      #字典(dict)  元组(tuple)  列表(list)  字符串(str)
     for循环的循环体代码

当for循环不同类型数据值类型是怎么样的呢:

  • 循环列表时
l1 = ['jason', 'kevin', 'tony', 'oscar']
for i in l1:
    print(i)

输出结果: 1655976610271.png

  • 循环字典时
user_dict = {'username': 'jason', 'pwd': 123, 'age': 18}
for i in user_dict:
    print(i)

输出结果: 1655976930194.png 可以看到每次取到的都是字典的k值。

  • 循环字符串时
desc = 'hello baby! 你会感谢少时奋斗的自己'
for i in desc:
    print(i)

输出结果: 1655977095324.png 循环字符串时,默认每次取单个字符

  • 循环元组时
t = (11, 22, 33, 44)
for i in t:
    print(i)

输出结果: 1655978478794.png 循环元组时与列表一致,默认是单个数据值。

for的重要知识

  • 1.for 循环能实现的while循环都可以实现

range方法

  • 1.括号内只有一个数字时从0开始到减一结束
for i in range(5):
    print(i)
  • 2.括号内有两个数字时从第一个数字开始到最后一个数字减一结束
for i in range(3, 10):  
    print(i)

  • 3.括号内有三个数字时,第三个数字代表的是数列的公差,也从第一个数字开始到第二个数字结束
for i in range(0, 100, 25): 
    print(i)

range方法爬虫

网络爬虫:python代码模拟网络请求获取数据。

1.提前定义好一个模板

base_url = 'https://www.cnblogs.com/#p%s'         
for i in range(1, 101):
    print(base_url % i)

for与break

for i in range(1,11):
    if i == 7:
        break
    print(i)
  • 与while相同的,是break也能够结束所在的那一层for循环

for与continue

for i in range(1, 11):
    if i == 7:
        continue
    print(i)
  • 与while相同的,是continue也能够结束所在的那一次for循环,直接开始下一次

for与else

for i in range(10):
    print(i)
    if i == 5:
        break
else:
    print('嘿嘿嘿 猜猜我什么时候执行')
  • 与while相同的,else配合for一起使用,当for循环没有被强制结束的情况下。循环体结束之后运行else子代码

昨日练习更正

*1.   v3 = 0 and 2 and 1
      v4 = 0 and 2 or 1
      v5 = 0 and 2 or 1 or 4
*4.编写猜年龄的游戏
	用户有三次猜测的机会 如果用完则提示用户是否继续尝试
	用户输入y则继续给三次机会 如果用户输入q则直接结束程序
real_age = 24                              1.先定义一个正确的年龄
count = 1                                  4.定义一个计数器
while True:                                3.先加个循环 无限制玩起来
    if count == 4:                         5.判断当前是第几次猜
        choice = input('你个菜鸡 已经错了三次 要不要再试试(y/n)>>>:')
        if choice == 'y':
            count = 1
        else:
            print('菜鸡 赶紧滚!!!')
            break
    guess_age = input('guess_age>>>:')     2.获取用户猜测的年龄
    guess_age = int(guess_age)
    if guess_age > real_age:
        print('去你妹的 我有那么大吗?')
        count += 1
    elif guess_age < real_age:
        print('你真讨厌 人家成年了!!!')
        count += 1
    else:
        print('好耶 猜对了 你真棒!!!')
        break

小练习

1.计算1-100所有的数之和 代码:

num = 0
for i in range(1, 101):
    num += i
    print(num)

结果: 1655985863866.png 2.判断列表中数字2出现的次数

	l1 = [11,2,3,2,2,1,2,1,2,3,2,3,2,3,4,3,2,3,2,2,2,2,3,2]

3.编写代码自动生成所有页网址

	https://movie.douban.com/top250

4.编写代码打印出下列图形(ps:for循环嵌套)

	*****
	*****
	*****
	*****