Offer 驾到,掘友接招!我正在参与2022春招系列活动-刷题打卡任务,点击查看活动详情。
预测以下 python 程序的输出:
程序一:
r = lambda q: q * 2 s = lambda q: q * 3 x = 2 x = r(x) x = s(x) x = r(x) print (x)
输出:
24
解释: 在上述程序中,r 和 s 是 lambda 函数或匿名函数,q 是这两个函数的参数。在第一步中,我们将 x 初始化为 2。在第二步中,我们将 x 作为参数传递给 lambda 函数 r,这将返回存储在 x 中的 x*2
。也就是说,现在 x = 4。同样,在第三步中,我们将 x 传递给 lambda 函数 s,因此x = 4*3
。即,现在 x = 12
。再次在最后一步中,将 x 乘以 2,并将其传递给函数 r。因此,x = 24
。
程序二:
a = 4.5 b = 2 print (a//b)
输出:
2.0
解释 : 这种类型的除法称为截断除法,其中余数被截断或删除。
程序三:
a = True b = False c = False if a or b and c: print ("HAIYONG") else: print ("haiyong")
输出:
HAIYONG
解释: 在 Python 中,AND 运算符的优先级高于 OR 运算符。因此,首先对其进行评估。即,(b 和 c) 的计算结果为 false。现在 OR 运算符被计算。在这里,(True or False) 的计算结果为 True。所以 if 条件变为 True 并且 HAIYONG 被打印为输出。
程序四:
a = True b = False c = False if not a or b: print (1) elif not a or not b and c: print (2) elif not a or b or not b and a: print (3) else: print (4)
输出:
3
说明: 在 Python 中,优先顺序首先是 NOT,然后是 AND,最后是 OR。因此,if 条件和第二个 elif 条件评估为 False,而第三个 elif 条件评估为 True,结果为 3 作为输出。
程序五:
count = 1 def doThis(): global count for i in (1, 2, 3): count += 1 doThis() print (count)
输出:
4
说明: 函数外声明的变量count是全局变量,函数中引用的count变量也是函数外定义的同一个全局变量。因此,对函数中变量所做的更改会反映到原始变量中。因此,程序的输出为 4。