任务011描述
用Python编写一个程序,根据用户输入的一个整数进行分支运算,规则如下:
如果输入的数字小于17,则输出它与17的差(正数);
如果输入的数字大于17,则输出它与17差的2倍(正数)。
分析及示例
题目的核心部分是Python中用判断并进行分支操作,可以用if结构来实现:
if 条件:
条件为真时的语句
else:
条件为假时的语句
此外题目中要求输入两个差数均为正值形式,这里也有不同的操作方式,从数学的角度来用abs()来转换成绝对值可以保证它是正值,但从程序设计角度来说,实际上是增加了运算资源。从效率的角度来说,可以直接用大数减去小数的形式来实现。
示例代码:
# Solution 1
def difference(num):
if num >= 17:
return (num-17) *2
else:
return 17-num
print(difference(23))
print(difference(13))
# Solution 2 上述判断也可以简化成以下形式,但刚接触Python的高中生不推荐。
def diff(num):
return (num-17)*2 if num>=17 else (17-num)
print(diff(23))
print(diff(13))
运行结果:
12
4
12
4
网友评论