程序的控制结构
文章目录
一、程序的控制结构
二分支结构的紧凑形式:<表达式1>if<条件>else<表达式2>
eg.
guess=eval(input())
print("猜{}了".format("对"if guess==99 else"错"))
x and y 两个条件x和y的逻辑‘与’
x or y 两个条件x和y的逻辑‘或’
not x 条件x的逻辑‘非’
异常处理:
eg.
#输入若不为数字,则会判错
num=eval(input())
print(num**2)
#修改后
try:
num=eval(input())
print(num**2)
except:
print("输入不是整数")
二、循环结构
1.计数循环
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(1,6):
print(i)
1
2
3
4
5
>>> for i in range(1,6,2):
print(i)
1
3
5
2.字符串遍历循环
>>> for c in "python123":
print(c,end=",")
p,y,t,h,o,n,1,2,3,
3.列表遍历循环
>>> for item in {123,"py",456}:
print(item,end=".")
456.123.py.
4.循环控制保留字(break和continue)
break:跳出并结束当前整个循环,执行循环后的语句
continue:结束当次循环,继续执行后续次数循环
>>> for c in "PYTHON":
if c=="T":
continue
print(c,end="")
PYHON
>>> for c in "PYTHON":
if c=="T":
break
print(c,end="")
PY
5.双循环
>>> s="PYTHON"
>>> while s!=" ":
for c in s:
print(c,end="")
s=s[:-1]
PYTHONPYTHOPYTHPYTPYP
三、random库
import random
注:如果需要再现随机过程,即可设定种子,如果不需要,不设定种子即可
random.seed(1或2或...10...) | 设定种子 |
random.random() | 生成[0.0,1.0]之间的随机小数 |
random.randint(a,b) | 生成一个[a,b]之间的整数 |
random.randrange(m,n,k) | 生成一个[m,n]之间以k为步长的随机整数 |
random.uniform(a,b) | 生成一个[a,b]之间的随机小数 |
random.choice(seq) | 从序列seq中随机选择一个元素 |
random.shuffle(seq) | 将序列中元素随机排列,返回重排后的元素 |
四、圆周率计算实例
#CalPiV2.py
from random import random
from time import perf_counter
DARTS = 1000*1000
hits = 0.0
start = perf_counter()
for i in range(1, DARTS+1):
x, y = random(), random()
dist = pow(x ** 2 + y ** 2, 0.5)
if dist <= 1.0:
hits = hits + 1
pi = 4 * (hits/DARTS)
print("圆周率值是: {}".format(pi))
print("运行时间是: {:.5f}s".format(perf_counter() - start))
总结
以梦为马,不负韶华