Python3 挑战实验 – 玩转函数

介绍

我们之前通过3个课程学习了 Python 的函数,文件处理,以及异常。这次我们通过一个简单的挑战实验来测试一下我们对之前代码的掌握程度。

目标

请在 /home/shiyanlou/Code写出一个 MinutesToHours.py 脚本文件,实现一个函数 Hours(),将用户输入的 分钟数 转化为 小时数和分钟数,并要求小时数尽量大。讲结果以 XX H, XX M 的形式打印出来。(注意打印格式中的空格)

要求

用户能够通过命令行输入分钟数,程序需要打印出相应的小时数和分钟数
如果用户输入的是一个负值,程序需要报错 ValueError
需要进行 try…except 操作来控制异常。如果异常,在屏幕上打印打印出 ValueError: Input number cannot be negative 提示用户输入的值有误

举例:

提示语

  • import sys
  • raise语句
  • try…except 语句

知识点

  • 异常
  • 文件处理
  • if-else

来源

实验楼团队

答案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/env python3
import sys

def Hours(num):
if num >= 0:
hours, minutes = divmod(n, 60)
print(hours,'H,', minutes, 'M')
else:
raise ValueError('Input number cannot be negative')

if __name__ == '__main__':
n = int(sys.argv[1])
try:
Hours(n)
except ValueError:
print('ValueError: Input number cannot be negative')