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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容