栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

大学计算——基于Python的计算思维与工程实践能力训练 (第1关:读取用户输入的公式参数)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

大学计算——基于Python的计算思维与工程实践能力训练 (第1关:读取用户输入的公式参数)

异常

一、我们一般使用try-except代码块处理异常,try-except代码块让 Python 程序在遇到错误时执行指定的操作
例如,我们编写如下程序:

try:
    print(2/0)
except:
    print("We can't divide by zero!")
程序运行结果:

We can't divide by zero!

我们将 print(2/0)语句放在了try代码块中,很显然这是一个错误语句,因为 0 不能当除数。try-except代码块的作用就是当try代码块中的程序代码运行没有错误,则跳过except代码块;反之如果try代码块中的程序代码运行出现错误,则运行except代码块中的内容,一般except代码块中的内容都是输出错误信息。

如果except代码块后面还有其他代码,程序将继续运行,因为 Python 已经在程序报错后执行了except代码块中的内容,告诉了错误信息,所以可以继续运行程序。

二、除了系统自动抛出异常外,程序员也可以通过 Python 的raise显式抛出自己的包含特定信息的异常。一旦执行了raise语句,raise之后的语句将不能执行。

def read_C():
    try:
        C = float(sys.argv[1])
       except ValueError:
        raise ValueError('Degrees must be number, not "%s"' % sys.argv[1])
    if C < -273.15:
        raise ValueError('C=%g is a non-physical value!' % C)
    return C
编程要求

在上一关的基础上,增加对用户输入的数据的有效性进行检查。

参数v0
的范围不限,但是参数t的范围必须是

0≤t≤ g2v0

当参数t不满足范围时,请引发一个ValueError异常,异常信息为:t必须在 0 到 2v0/g 之间。如果满足,则打印出计算的结果。

评测代码会捕捉这个异常,并将异常信息打印出来,打印的内容将会与规定的内容进行比较,详细要求请见测试说明。

def eval():
    #读取用户输入的公式参数,检查有效性,并输出计算结果
    #   请在此添加实现代码   #
	# ********** Begin *********#
    g=9.81
    t=int(input())
    v0=int(input())
    print("t=?",end='')
    print("v0=?",end='')
    
    if 0>t or t>2*v0/g:
        raise ValueError('t必须在0到2v0/g之间')


    yt=v0*t-g*(t**2)*1/2
    
    print(yt)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/326730.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号