(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运行情况下的