(Python第七天)实例二玩转函数

实现一个程序,将分钟转为小时和分钟,代码中不要使用input()函数,否则挑战测试会卡住,出现Timeout报错

在文件中实现一个函数 Hours(),将用户输入的 分钟数 转化为 小时数和分钟数,并要求小时数尽量大。将结果以 XX H, XX M 的形式打印出来。

要求:

用户能够通过命令行参数输入分钟数,不要使用 input,命令行参数可以使用 sys.argv 来提取。例如程序执行为 python3 MinutesToHours.py 80,传入的参数 80 就是分钟数,程序需要打印出相应的小时数和分钟数,输出为 1 H, 20 M。
如果用户输入的是一个负值,程序需要 raise 来抛出 ValueError 异常。
Hours() 函数调用的时候,需要使用 try...except 处理异常。获取异常后,在屏幕上打印出 Parameter Error 提示用户输入的值有误。

提示:

sys.argv 获取命令行参数,注意获取的参数为字符串,可以使用 int() 将字符串转为整数,此处也可能会出现异常情况,例如输入为 "abcd" 是无法转为整数的
raise 语句
try...except 语句

 1 import sys
 2 
 3 
 4 def Hours(number):
 5     if number <0:
 6         raise ValueError("Parameter Error")
 7     else:
 8         a,b=divmod(number,60)
 9         print("{}H,{}M".format(a,b))
10 
11 
12 try:
13     Hours(int(input("Enter the number:")))
14 except:
15     print("Parameter Error")

这是在Windows运行情况下的

posted @ 2019-01-22 18:31  ywangji  阅读(219)  评论(0编辑  收藏  举报