版权声明:@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的值: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))