Python

第四章

闲着没事干?

一起学Py​thon​


微信关注公众号:夜寒信息


为每位用户免费提供技术帮助与资源供给



程序控制结构


       Python的程序控制结构是非常实用的一种程序处理手段。他能给用户带来更好的人机交互体验,是自己的程序能够应对更多方面的问题,并自己判断和处理异常。让我们来共同学习Python的程序控制结构,让自己的程序更加人性化!


Python的程序控制结构

try :

  <语句块1>

except :

  <语句块2>


异常处理,将要执行的语句放在语句块1中,如果语句块1执行过程中出现异常则执行语句块2,如果不出现异常则不执行语句块2,继续执行后续语句。

try :
  <语句块1>
except <异常类型>:
  <语句块2>


异常处理,将要执行的语句放在语句块1中,如果语句块1执行过程中出现**<异常类型>**中的异常则执行语句块2,如果不出现则不执行语句块2,继续执行后续语句,如果出现其他类型异常则报错。

try :
  <语句块1>
except <异常类型>:
  <语句块2>
else :
  <语句块3>
finally :
  <语句块4>


异常处理,程序首先执行语句块1,不发生异常则执行语句块3,若发生异常则执行语句块2,不论是否发生异常都执行语句块4

for <循环条件>
  <语句块1>
else:
  <语句块2>


当循环没有被break语句退出时,执行else语句块,当被break打断时则不执行else语句块


1


continue



结束档次循环,继续执行后续循环

例:for c in “Python”:

    if c==“t”:

      continue

    print(c,end="")

>>> Pyhon

2


break



结束整个循环

例:for c in “Python”:

    if c==“t”:

      break

    print(c,end="")

>>> Py


Random库的使用


1


seed(a=None)




初始化给定的随机数种子,可复现,默认为当前系统时间

2


random()




生成一个[0.0,1.0)之间的随机小数

3


randint(a,b)




生成一个[a,b]之间的整数


3


randrange(m,n,k)




生成一个[m,n)之间以k为步长的随机整数

4


getrandbits(k)




生成一个k比特长的随机整数

5


uniform(a,b)




生成一个[a,b]之间的随机小数

6


choice(seq)




从序列seq中随机选择一个元素

7


shuffle(seq)




将序列seq中元素随机排列,返回打乱后的序列


体质量数BMI

输入体重,计算国内和国际标准的BMI指数


height,weight = eval(input("请输入身高(米)和体重(公斤)[逗号隔开]:"))
bmi = weight / pow(height,2)
print("BMI 数值为:{:.2f}".format(bmi))
who,nat = "",""
if bmi < 18.5:
who,nat = "偏瘦","偏瘦"
elif 18.5 <= bmi <24:
who,nat ="正常","正常"
elif 24 <= bmi <25:
who,nat ="正常","偏胖"
elif 25 <= bmi <28:
who,nat ="偏胖","偏胖"
elif 28 <= bmi <30:
who,nat ="偏胖","肥胖"
else:
who,nat ="肥胖","肥胖"
print("BMI指标为:国际'{0}',国内'{1}'".format(who,nat))


蒙特卡罗方法计算圆周率

以撒点的方式计算圆周率


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))


四位玫瑰数

四位玫瑰数是4位数的自幂数。自幂数是指一个Ñ位数,它的每个位上的数字的Ñ次幂之和等于它本身。‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮ ‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

例如:当n为3时,有1 ^ 3 + 5 ^ 3 + 3 ^ 3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬ ‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。


for i in range(1000,10000):
t=str(i)
if pow(eval(t[0]),4)+pow(eval(t[1]),4)+pow(eval(t[2]),4)+pow(eval(t[3]),4)==i:
print(i)


100以内素数之和

求100以内所有素数之和并输出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
素数指从大于1,且仅能被1和自己整除的整数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
提示:可以逐一判断100以内每个数是否为素数,然后求和。


sum = 2
for i in range(3,100):
for j in range(2,i):
if i % j == 0:
break
else: #同样else与for对齐
sum += i
print(sum)


微信关注公众号:

夜寒信息

为每一位用户免费提供

优质技术帮助与资源供给

Python学习:第四章_异常处理Python学习:第四章_python_02Python学习:第四章_控制结构_03

Python学习:第四章_控制结构_04

Python学习:第四章_异常处理_05Python学习:第四章_python_06

扫码关注我