Python 程序的输出 | 第一套

2022-04-13 17:11:47 浏览数 (1)

预测以下 python 程序的输出:

程序一:

代码语言:javascript复制
r = lambda q: q * 2
s = lambda q: q * 3
x = 2
x = r(x)
x = s(x)
x = r(x)
print (x)

输出:

代码语言:javascript复制
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

程序二:

代码语言:javascript复制
a = 4.5
b = 2
print (a//b)

输出:

代码语言:javascript复制
2.0

解释 : 这种类型的除法称为截断除法,其中余数被截断或删除。

程序三:

代码语言:javascript复制
a = True
b = False
c = False

if a or b and c:
	print ("HAIYONG")
else:
	print ("haiyong")

输出:

代码语言:javascript复制
HAIYONG

解释: 在 Python 中,AND 运算符的优先级高于 OR 运算符。因此,首先对其进行评估。即,(b 和 c) 的计算结果为 false。现在 OR 运算符被计算。在这里,(True or False) 的计算结果为 True。所以 if 条件变为 True 并且 HAIYONG 被打印为输出。

程序四:

代码语言:javascript复制
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)

输出:

代码语言:javascript复制
3

说明: 在 Python 中,优先顺序首先是 NOT,然后是 AND,最后是 OR。因此,if 条件和第二个 elif 条件评估为 False,而第三个 elif 条件评估为 True,结果为 3 作为输出。

程序五:

代码语言:javascript复制
count = 1

def doThis():

	global count

	for i in (1, 2, 3):
		count  = 1

doThis()

print (count)

输出:

代码语言:javascript复制
4

说明: 函数外声明的变量count是全局变量,函数中引用的count变量也是函数外定义的同一个全局变量。因此,对函数中变量所做的更改会反映到原始变量中。因此,程序的输出为 4。

0 人点赞