for与while的两大循环的不同用法

for …in 循环

整数、浮点数无法进行循环.

a = 100
b = 0.01

for i in a :
    print(i)

for i in 0.11:
    print(i)
   
    for i in a :
TypeError: 'int' object is not iterable

如果想要进行循环,则需要进行转化为字符串格式

a = 100
b = 0.01

for i in str(a) :
    print(i)

for i in str(0.11):
    print(i)

1
0
0
0
.
1
1

列表,字典,字符串可以进行循环

for i in [1,2,3,4,5]:  
   print(i)
1
2
3
4
5
------------------------------------------------
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}

for i in dict:
    print(i)
日本
英国
法国
-------------------------------------------------
dict = {'日本':'东京','英国':'伦敦','法国':'巴黎'}

for i in dict:
    print(dict[i])
东京
伦敦
巴黎

range()函数的几个用法:

生成序列

举个例子:

for i in range(13,17):
    print(i)
13
14
15
16

使用range(a,b) 函数,可以生成了一个【取头不取尾】的整数序列。

重复n次你想重复你的语句

举个例子:重要的事情说三遍

for i in range(3):
    print('我很棒')
我很棒
我很棒
我很棒

不过,常用的一般为这种情况

for n in range(1,11):
    print('书桓走的第'+str(n)+'天,想他')

书桓走的第1天,想他
书桓走的第2天,想他
书桓走的第3天,想他
书桓走的第4天,想他
书桓走的第5天,想他
书桓走的第6天,想他
书桓走的第7天,想他
书桓走的第8天,想他
书桓走的第9天,想他
书桓走的第10天,想他

注意:这里的range(0,11)和range(11)效果是一样的。根据需要选择就好。

range(a,b,c)

这里的意思是以 a为起始,b为终,c为步长
举个例子:

for i in range(1,101,5):
    print(i/5)

0.2
1.2
2.2
3.2
4.2
5.2
6.2
7.2
8.2
9.2
10.2
11.2
12.2
13.2
14.2
15.2
16.2
17.2
18.2
19.2

while循环

又可以称为满足条件的循环重复,常用的有以下几种类型:

第一种:类似与上列的

a = 0
while a < 5:
    a = a + 1
    print('我爱你的第'+str(a)+'天')
我爱你的第1天
我爱你的第2天
我爱你的第3天
我爱你的第4天
我爱你的第5

第二种:同样是类似于上列的打印一串连续的数列

a = 0
while a < 5:
    a = a + 1
    print(a)
1
2
3
4
5

第三种:不达目的,誓不罢休

man = ''  # 注:这个''代表空字符串
while man != '有':
    
   man= input('有没有愿意为小龙女死的男人?没有的话就不能出古墓。\n')
print('小龙女可以出古墓门下山啦~')

有没有愿意为小龙女死的男人?没有的话就不能出古墓。
么有
有没有愿意为小龙女死的男人?没有的话就不能出古墓。
没
有没有愿意为小龙女死的男人?没有的话就不能出古墓。
有
小龙女可以出古墓门下山啦~
password = ''  # 变量password用来保存输入的密码

while password !='123':
    password=input('请输入密码?')
print('欢迎欢迎!')

请输入密码?125
请输入密码?135
请输入密码?
请输入密码?
请输入密码?123
欢迎欢迎!

第四种:同上进行算术运算

a=0
while a < 101:
    
    print(a*5)
    a=a+1
0
5
10
15
20
25
...
480
485
490
495
500

两大循环的练习

与.append()的综合使用练习

小明、小红、小刚是同班同学,且坐在同一排,分别坐在第一位、第二位、第三位。
由于他们的身高都差不多,所以,老师计划让他们三个轮流坐在第一位。
每次换座位的时候,第一位变第三位,后面两位都往前一位。

students=['沙琪玛','西红柿','茄子']
for i in range(3):
    
    students1=students[0]
    students=students[1:]
    students.append(students1)
    print(students)
    

    # 获取第一个座位的学生 student1
     # 让 student1 暂时离开,后面的学生座位都进一位。
   # 将 student1 安排到最后一个座位
print('------------------------------------')    
students=['沙琪玛','西红柿','茄子']
a=0
while a<3:
    a=a+1
    students1=students[0]
    students=students[1:]
    students.append(students1)
    print(students)

['西红柿', '茄子', '沙琪玛']
['茄子', '沙琪玛', '西红柿']
['沙琪玛', '西红柿', '茄子']
------------------------------------
['西红柿', '茄子', '沙琪玛']
['茄子', '沙琪玛', '西红柿']
['沙琪玛', '西红柿', '茄子']

此外,还有另一种pop()函数可以实现该功能

 # 运用pop()函数,同时完成提取和删除。
  # 将移除的student1安排到最后一个座位。
students = ['小明','小红','小刚']
for i in range(3):
    students1=students.pop(0)
    students.append(students1)
    print(students)
['小红', '小刚', '小明']
['小刚', '小明', '小红']
['小明', '小红', '小刚']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hello world !

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值