📜  Python程序的输出| 2套

📅  最后修改于: 2022-05-13 01:56:10.847000             🧑  作者: Mango

Python程序的输出| 2套

难度级别:中级
预测以下Python程序的输出。
方案一:

Python
class Acc:
    def __init__(self, id):
        self.id = id
        id = 555
 
acc = Acc(111)
print acc.id


Python
for i in  range(2):
    print i
 
for i in range(4,6):
    print i


Python
values = [1, 2, 3, 4]
numbers = set(values)
 
def checknums(num):
    if num in numbers:
        return True
    else:
        return False
 
for i in  filter(checknums, values):
    print i


Python
counter = {}
 
def addToCounter(country):
    if country in  counter:
        counter[country] += 1
    else:
        counter[country] = 1
 
addToCounter('China')
addToCounter('Japan')
addToCounter('china')
 
print len(counter)


输出:

111

说明:类“Acc”的实例化自动调用方法 __init__ 并将对象作为 self 参数传递。 111 分配给名为 id 的对象的数据属性。
值“555”不会保留在对象中,因为它没有分配给类/对象的数据属性。所以,程序的输出是“111”方案二:

Python

for i in  range(2):
    print i
 
for i in range(4,6):
    print i

输出:

0
1
4
5

说明:如果只有一个参数传递给 range 方法, Python认为这个参数是范围的结束,并且范围的默认起始值为 0。因此,它将打印从 0 开始并且在提供的参数之前的所有数字。
对于第二个 for 循环,起始值明确提供为 4,结束值为 5。方案三:



Python

values = [1, 2, 3, 4]
numbers = set(values)
 
def checknums(num):
    if num in numbers:
        return True
    else:
        return False
 
for i in  filter(checknums, values):
    print i

输出:

1
2
3
4

说明:函数“filter”将返回列表值中的所有项目,当传递给函数“checknums”时返回True。 “checknums”将检查该值是否在集合中。由于集合中的所有数字都来自值列表,因此列表中的所有原始值都将返回 True。程序4:

Python

counter = {}
 
def addToCounter(country):
    if country in  counter:
        counter[country] += 1
    else:
        counter[country] = 1
 
addToCounter('China')
addToCounter('Japan')
addToCounter('china')
 
print len(counter)

输出:

3