Python习题016:比较数字并分支计算

任务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

你可能感兴趣的:(Python习题016:比较数字并分支计算)