- 难度级别: 简单
注意:所有这些程序的输出都在 Python3 上进行了测试
预测以下 Python 程序的输出。
1)以下程序的输出是什么?
str1 = '{2}, {1} and {0}'.format('a', 'b', 'c') str2 = '{0}{1}{0}'.format('abra', 'cad') print(str1, str2)
a) c, b and a abracad0
b) a, b and c abracadabra
c) a, b and c abracadcad
d) c, b and a abracadabra
答: (d)
说明: 字符串函数格式采用格式字符串和任意一组位置和关键字参数。对于 str1 'a' 有索引 2,'b' 索引 1 和 'c' 索引 0。str2 只有两个索引 0 和 1。索引 0 在第一次和第三次使用两次。
2) 以下程序的输出是什么?
a = 2 b = '3.77' c = -8 str1 = '{0:.4f} {0:3d} {2} {1}'.format(a, b, c) print(str1)
a) 2.0000 2 -8 3.77
b) 2 3.77 -8 3.77
c) 2.000 3 -8 3.77
d) 2.000 2 8
答: (a)
解释: 在索引 0 处,整数 a 被格式化为具有 4 个小数点的浮点数,即 2.0000。在索引 0 处,a = 2 被格式化为整数,因此它保持为 2。接下来选择索引 2 和 1 的值,分别为 -8 和 3.77。
3) 以下程序的输出是什么?
import string Line1 = "And Then There Were None" Line2 = "Famous In Love" Line3 = "Famous Were The Kol And Klaus" Line4 = Line1 + Line2 + Line3 print("And" in Line4)
a) True 2
b) True
c) False
d) False 2
答案:(b)
解释:
如果字符串包含子字符串(即 And),则“in”运算符返回 True,否则返回 False。
4) 以下程序的输出是什么?
line = "I'll come by then." eline = "" for i in line: eline += chr(ord(i)+3) print(eline)
a) Loo frph e| wkhq1
b) Loo#frph#e|#wkhq1
c) loo@frph@e|$wkhq1
d) Ooo#Frph#E|#wKhq1
答案:(b)
解释: 这段代码对纯文本进行加密。通过增加 ascii 值,每个字符移动到其下一个第三个字符。'I' 变成 'L',因此选项 (c) 和 (d) 被排除。' ' 的 ascii 值为 32,因此它会变成 35('#'),因此排除选项 (a),因为在密文中,' ' 不能保留为 ' '。\
5) 以下程序的输出是什么?
line = "What will have so will" L = line.split('a') for i in L: print(i, end=' ')
a) ['What', 'will', 'have', 'so', 'will']
b) Wh t will h ve so will
c) What will have so will
d) ['Wh', 't will h ', 've so will'] \
答案:(b)
解释: split() 将使用 'a' 作为分隔符。它将在“a”处创建分区,因此 split() 返回一个数组 L,该数组位于 ['Wh', 't will h', 've so will'] 中。For 循环将打印列表的元素。