07 Python循环

1.while循环

1.1 一般使用

In [4]:

print('我爱中国\n'*10)
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国

In [3]:

while 0:
    print('我爱中国')
  • 一定要注意写循环时要注意结束循环
    1. 修改条件
    2. 打断循环

In [5]:

num = 0
condition = True
while condition:
    print('我爱中国')
    num += 1
    if num == 10:
        condition = False
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国

In [2]:

num = 0
while num < 10:
    print('我爱中国')
    num += 1
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国
我爱中国

In [5]:

#累加一到十
num = 0
result = 0
while num < 10:
    num += 1
    result += num
print(result)
55

1.2 与else连用

while :
    条件满足时执行代码
else:
    条件不满足时执行代码
  • 如果通过break打断就不会执行else里代码

In [10]:

num = 0
while num<10:
    num += 1
    print('num:',num)
else:
    print('整个循环已经执行完毕')
num: 1
num: 2
num: 3
num: 4
num: 5
num: 6
num: 7
num: 8
num: 9
num: 10
整个循环已经执行完毕

In [11]:

#如果通过break打断就不会执行else里代码
num = 0
while num<10:
    num += 1
    print('num:',num)
    break
else:
    print('整个循环已经执行完毕')
num: 1

1.3 注意

  • 一定要注意结束循环,防止死循环
  • 在Python中没有类似do…while循环

2 for循环

2.1 for循环的一般使用

In [13]:

#遍历一个字符串
notice = '我爱卢丹丽'
for i in notice:
    print(i)
我
爱
卢
丹
丽

In [14]:

#遍历列表
pets = ['小黑','小红','小黄','小花']
for name in pets:
    print(name)
小黑
小红
小黄
小花

2.2 与else连用

for x in xx :
    条件满足时执行代码
else:
    条件不满足时执行代码
  • 如果通过break打断就不会执行else里代码

In [1]:

name = 'xx,我爱中国'
for c in name:
    print(c)
    break
else:
    print('集合,遍历结束')
x

2.3 反转字符串

源字符串:

   ‘社会我昊哥,人狠话不多’

反转后:

   ‘多不话狠人,哥昊我会社’

In [20]:

notice = '社会我昊哥,人狠话不多'
result = ''
for c in notice:
    result += c
print(result)
社会我昊哥,人狠话不多

In [21]:

notice = '社会我昊哥,人狠话不多'
result = ''
for c in notice:
    result = c + result
print(result)
多不话狠人,哥昊我会社

2.4 打印1到100的偶数

In [25]:

for i in range(1,101):
    if not i%2:
        print(i,'是偶数')
2 是偶数
4 是偶数
6 是偶数
8 是偶数
10 是偶数
12 是偶数
14 是偶数
16 是偶数
18 是偶数
20 是偶数
22 是偶数
24 是偶数
26 是偶数
28 是偶数
30 是偶数
32 是偶数
34 是偶数
36 是偶数
38 是偶数
40 是偶数
42 是偶数
44 是偶数
46 是偶数
48 是偶数
50 是偶数
52 是偶数
54 是偶数
56 是偶数
58 是偶数
60 是偶数
62 是偶数
64 是偶数
66 是偶数
68 是偶数
70 是偶数
72 是偶数
74 是偶数
76 是偶数
78 是偶数
80 是偶数
82 是偶数
84 是偶数
86 是偶数
88 是偶数
90 是偶数
92 是偶数
94 是偶数
96 是偶数
98 是偶数
100 是偶数

3 循环打断break&continue

3.1 break

  • 打断本次循环,跳出整个循环

In [27]:

for i in range(1,11):
    if i == 6:
        break
    print(i)
1
2
3
4
5

3.2 continue

  • 结束本次循环,继续执行下次循环

In [28]:

for i in range(1,11):
    if i == 6:
        continue
    print(i)
1
2
3
4
5
7
8
9
10

3.3 案例

做一个简单的加法计算器, 让用户输入两个数值, 输出对应的和

  • 用户如果不退出这个程序, 则输出完毕之后, 继续让用户使用
  • 如果用户输入一个标识: q, 识别成退出
  • 如果中间用户输入的数据有误, 则给出错误提示, 并从头开始, 让用户数据数值

In [29]:

#1 让用户输入两个数值
num1 = input('请输入第一个数值')
num1 = float(num1)
num2 = input('请输入第二个数值')
num2 = float(num2)
#2 计算两个数值的和
result = num1 + num2
#3 输出数值
print('你的计算结果:',result)
请输入第一个数值5
请输入第二个数值4
你的计算结果: 9.0

In [31]:

#用户如果不退出这个程序, 则输出完毕之后, 继续让用户使用
while True:
    #1 让用户输入两个数值
    num1 = input('请输入第一个数值')
    num1 = float(num1)
    num2 = input('请输入第二个数值')
    num2 = float(num2)
    #2 计算两个数值的和
    result = num1 + num2
    #3 输出数值
    print('你的计算结果:',result)
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-31-0251637a5aca> in <module>
      2 while True:
      3     #1 让用户输入两个数值
----> 4     num1 = input('请输入第一个数值')
      5     num1 = float(num1)
      6     num2 = input('请输入第二个数值')

D:\Users\WangHao\anaconda3\lib\site-packages\ipykernel\kernelbase.py in raw_input(self, prompt)
    858                 "raw_input was called, but this frontend does not support input requests."
    859             )
--> 860         return self._input_request(str(prompt),
    861             self._parent_ident,
    862             self._parent_header,

D:\Users\WangHao\anaconda3\lib\site-packages\ipykernel\kernelbase.py in _input_request(self, prompt, ident, parent, password)
    902             except KeyboardInterrupt:
    903                 # re-raise KeyboardInterrupt, to truncate traceback
--> 904                 raise KeyboardInterrupt("Interrupted by user") from None
    905             except Exception as e:
    906                 self.log.warning("Invalid Message:", exc_info=True)

KeyboardInterrupt: Interrupted by user

In [33]:

#如果用户输入一个标识: q, 识别成退出
while True:
    #1 让用户输入两个数值
    num1 = input('请输入第一个数值')
    num1 = float(num1)
    num2 = input('请输入第二个数值')
    num2 = float(num2)
    #2 计算两个数值的和
    result = num1 + num2
    #3 输出数值
    print('你的计算结果:',result)
    isq = input('是否想要退出(q:退出,其他:不退出,继续)')
    if isq == 'q':
        break
请输入第一个数值55
请输入第二个数值11
你的计算结果: 66.0
是否想要退出(q:退出,其他:不退出,继续)q

In [34]:

#如果中间用户输入的数据有误, 则给出错误提示, 并从头开始, 让用户数据数值(数值大于100就报错)
while True:
    #1 让用户输入两个数值
    num1 = input('请输入第一个数值')
    num1 = float(num1)
    num2 = input('请输入第二个数值')
    num2 = float(num2)
    
    if num1>100 or num2>100:
        print('你输入的数据有问题,请重新输入')
        continue
    #2 计算两个数值的和
    result = num1 + num2
    #3 输出数值
    print('你的计算结果:',result)
    isq = input('是否想要退出(q:退出,其他:不退出,继续)')
    if isq == 'q':
        break
请输入第一个数值555
请输入第二个数值22
你输入的数据有问题,请重新输入
请输入第一个数值55
请输入第二个数值22
你的计算结果: 77.0
是否想要退出(q:退出,其他:不退出,继续)q
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值