我是靠谱客的博主 爱笑棒球,最近开发中收集的这篇文章主要介绍//Python学习// 第4周 简单分支、多分支、异常处理、循环结构,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.PM2.5:if,if

def main():
	PM=eval(input("What is today's PM2.5?"))
	if PM>75:
		print("UNhealth")
	if PM<35:
		print("Good")
main()

2.二次方程求解:if else

import math
def main():
    print("This program finds the real solutions to a quadraticn")
    a,b,c=eval(input("Please enter the coefficients(a,b,c):"))
    delta=b*b-4*a*c
    if delta<0:
        print("This quadratic has no real roots! ")
    else:
        delta=math.sqrt(delta)
        root1=(-b+delta)/(2*a)
        root2=(-b-delta)/(2*a)
        print("nThe solution are:",root1,root2)
main()

升级版1 二次方程求解:if elif elif else

无根,有一个根,有两个相等的根,有两个不等的根。

import math
def main():
    print("This program finds the real solutions to a quadraticn")
    a,b,c=eval(input("Please enter the coefficients(a,b,c):"))
    delta=b*b-4*a*c
    if a==0:
        x=-b/c
        print("There is a solution")
    elif delta<0:
        print("This quadratic has no real roots! ")
    elif delta==0:
        x=-b/(2*a)
        print("There is a double root at",x)
    else:
        delta=math.sqrt(delta)
        x1=(-b+delta)/(2*a)
        x2=(-b-delta)/(2*a)
        print("nThe solutions are:",x1,x2)
main()

升级版2 二次方程求解 异常处理(try…except…)

try:

      <body>

except <errortype1>:

        <handler1>

except <errortype2>:

       <handler2>

  当Python解释器遇到一个try语句,它会尝试执行 try语句体<body>内的语句

如果没有错误,控制转到try-except后面的语句

如果发生错误,Python解释器会寻找一个符合该错误 的异常语句,然后执行处理代码 

import math
def main():
    print("This program finds the real solutions to a quadraticn")
    try:
        a,b,c=eval(input("Please enter the coefficients(a,b,c):"))
        discRoot= math.sqrt(b*b-4*a*c)
        root1 = (-b + discRoot) / (2 * a)
        root2 = (-b - discRoot) / (2 * a)
        print("nThe solutions are:", root1, root2)
    except ValueError as exc0bj:
        if str(exc0bj)=="math domain error":
            print("no real roots.")
        else:
            print("You didn't give me the right number of coefficients.")
    except NameError:
        print("nYou didn't enter three numbers.")
    except TypeError:
        print("nYour inputs were not all numbers.")
    except SyntaxError:
        print("nYour inputs was not in the correct form.Missing comma?")
    except:
        print("nSomething went wrong.sorry")

3.循环结构(求三者最大,求平均数)

求最大值

求平均数

a.简单for循环

   b.交互式循环是无限循环的一种  允许用户通过交互的方式重复程序的特定部分  让我们以交互循环的视角重新审视求平均数程序,伪码 如下:  初始化sum为0   初始化count为0  初始化moredata为"yes"   当moredata值为"yes"时   输入数字x    将x加入sum   count值加1   询问用户是否还有moredata需要处理   输出sum/count 
 

c.哨兵循环

执行循环直到遇到特定的值,循环语句才终止执行的循 环结构设计方法  哨兵循环是求平均数的更好方案,思路如下:  设定一个哨兵值作为循环终止的标志  任何值都可以做哨兵,但要与实际数据有所区别 伪码如下:  接收第一个数据  while这个数据不是哨兵    程序执行相关语句   接收下一个数据项  在求考试分数平均数的程序中,可以设定负数为哨兵 

没有那么多yes/no的干扰,执行结果更加清晰  但不能包含负数的平均数计算,为了更加通用化需要引 入字符串 

利用非数字字符串表示输入结束  所有其他字符串将被转换成数字作为数据处理  空字符串以””(引号中间没有空格)代表,可以作为哨 兵,用户输入回车Python就返回空字符串  伪码如下:  初始化sum为0  初始化count为0   接受输入的字符串数据,xStr  while  xStr非空   将xStr转换为数字x    将x加入sum   count值加1   接受下个字符串数据,xStr  输出sum/count 

d.文件循环

   面向文件的方法是数据处理的典型应用  之前求平均数的数字都是用户输入的,如果几百个数求 平均,输入困难且容易出错  可以事先将数据录入到文件中,然后将这个文件作为程 序的输入,避免人工输入的麻烦,便于编辑修改 

def main():
    yy="yy.txt"
    infile=open(yy,'r')
    sum=0
    count=0
    line=infile.readline()
    while line!="":
        sum=sum+eval(line)
        count=count+1
        line=infile.readline()
    print("nThe average of the nummbers is",sum/count)
main()

先要把yy.txt文件放在当前目录下,然后用yy="yy.txt"读入文件

e.嵌套循环

嵌套循环 
 决策和循环互相嵌套可以实现复杂算法  之前实例中文件每行只存一个数字,这一次数字以逗号 分隔出现在文件的同一行上

下面是处理一行的代码片段: 

 

最后

以上就是爱笑棒球为你收集整理的//Python学习// 第4周 简单分支、多分支、异常处理、循环结构的全部内容,希望文章能够帮你解决//Python学习// 第4周 简单分支、多分支、异常处理、循环结构所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部