2.2 分支与循环

版权声明:@Abby-YTJ https://blog.csdn.net/weixin_43564773/article/details/85565720

1 分支结构及用法

1.1 单分支结构

if <条件>:
    <语句块>

1.2 二分支结构

标准用途的分支结构

if <条件>:
    <语句块1>
else:
    <语句块2>

二分支的紧凑形式

<表达式1> if <条件> else <表达式2>
  • 注意:紧凑形式的元素是表达式,不能用于语句
guess = eval(input())
print("猜{}了".format("对" if guess == 99 else "错"))
33
猜错了

1.3 多分支结构

if <条件1>:
    <语句块1>
elif<条件2>:
    <语句块2>
    ...
else:
    <语句块N>
  • 注意:多条件之间的包含关系、变量取值范围的覆盖

1.4 条件判断及组合

True 和 False

  • Python语言提供True和False表示真假
  • 任何判断产生的结果是True或False
  • False的等价值是: None,0,0.0,0j,’’,(),[],{}

条件组合

操作符及使用 描述
x and y 两个条件x和y的逻辑
x or y 两个条件x和y的逻辑
not x 条件x的逻辑
guess = eval(input())
if guess > 99 or guess < 99:
    print("猜对了")
else:
    print("猜错了")
33
猜对了

2. 遍历循环及用法

2.1 遍历循环

for <循环变量> in <遍历结构>:
    <语句块>
  • 由for和in组成,完整遍历所有元素后结束
  • 每次循环,从遍历结构中逐一获得元素,放在循环变量中,并执行一次语句块

2.2 遍历循环的应用

  • 应用举例
    • 计数循环
    • 字符串遍历循环
    • 列表/元组/集合/字典遍历循环
    • 文件遍历循环

计数循环(N次)

for i in range(N):
    <语句块>
# range()函数产生的数字序列
for i in range(1,6):
    print(i)

输出结果
1
2
3
4
5

计数循环(特定次)

for i in range(M,N,K):
    <语句块>

字符串遍历循环

for c in s:
    <语句块>
for c in "python123":
    print(c,end =",")

输出结果
p,y,t,h,o,n,1,2,3,

列表遍历循环

for item in ls:
    <语句块>
for item in ['py','ja',134,'C#']:
    print(item, end = ',')

输出结果
py,ja,134,C#,

文件遍历循环

for line in fi:
    <语句块>

3. 无限循环及用法

3.1 无限循环

while <条件>:
    <语句块>
  • 使用while保留字,由条件控制循环过程。
  • 反复执行语句块,直到条件不满足时结束
a = 3
while a > 0:
    a = a - 1
    print(a)

输出结果
2
1
0

3.2 循环控制保留字

break 和 continue

  • break跳出并结束当前整个循环,执行循环后的语句
  • continue结束当次循环,继续执行后续次数循环
  • break和continue可以与for和while循环搭配使用
for c in "PYTHON":
    if c == "T":
        continue
    print(c, end = "")

输出结果
PYHON

for c in "PYTHON":
    if c == "T":
        break
    print(c, end = "")

输出结果
PY

4. 循环的高级用法

4.1 循环的扩展

循环完成的奖励:else扩展

for <变量> in <遍历结构>:
    <语句块1>
else:
    <语句块2>
while <条件>:
    <语句块1>
else:
    <语句块2>
  • 当循环没有被break语句退出时,执行else语句块
for c in "PYTHON":
    if c == "T":
        continue
    print(c, end = "")
else:
    print("正常退出")

输出结果
PYHON正常退出

for c in "PYTHON":
    if c == "T":
        break
    print(c, end = "")
else:
    print("正常退出")

输出结果
PY

程序需求-计算自然常数e

  • e的定义如下:
    自然常数e
  • e的值:2.71828182845904523536

两种方法:公式法+蒙特卡洛方法

# CaleV1.py
x = 1024 * 1024
print(pow(1 + 1/x, x))

输出结果为
2.718280532282396

# CaleV2.py
from random import *
DARTS = 1024 * 1024
count = 0
for i in range(DARTS):
    x = uniform(1,2)
    y = uniform(0,1)
    if x * y < 1:
        count += 1
e = pow(2, DARTS / count)
print("{}".format(e))

猜你喜欢

转载自blog.csdn.net/weixin_43564773/article/details/85565720
2.2