这些子程序做了什么?

时间:2016-02-11 11:45:43

标签: python python-3.x for-loop python-3.5

我正在练习Python - 使用Python 3.5.0 - 我使用子程序遇到了这个简短的程序。我想弄清楚每个子程序的作用?

非常感谢你。

def A(target,mark)
    target=mark[0]
    for numbers in range(10):
        if mark[numbers] > target:
    target = mark[numbers]
    return target


def B (target, mark)
    target=mark[0]
    for numbers in range(10):
        if mark[numbers] < target:
            target = mark[numbers]
    return target


def C (vote,total,vote1,vote0)
    for noofvotes in range(total):
    if vote[noofvotes]==1:
    vote1=vote1 + 1
        else:
    vote0=vote0 + 1
    return vote0, vote1


def D(target,Name):
    found="NO"
    namesinarray=0
    while namesinarray != len(Name) and found == "NO":
        if Name[namesinarray]==target:
            found="YES"
            indexmark= namesinarray
        namesinarray = namesinarray +1

    if found=="YES":
        print(target + " has been found at position " + str(indexmark))
    else:
        print("This name is not in the list")

1 个答案:

答案 0 :(得分:0)

A()搜索mark的前10个元素中的每个元素,并在该元素大于target时不断更新target。结果是,它返回mark的最大元素。 B()类似,但它返回mark的最小元素。但是,这些并不是必需的,因为有一些名为max()min()的内置函数就是为此而创建的。 C()获得一份投票清单,投票总票数,到目前为止一个人的投票数,以及迄今为止对另一个人的投票数。它通过投票和检查,看它是0还是1.然后相应地更新投票计数。一旦它添加了所有投票,它就会在tuple中返回它们。 (也就是说,如果它正确缩进,那会是什么)。 D()为其参数提供targetName,并搜索Name,直至找到target。如果找到target,则会打印出已在某个位置找到目标。如果找不到,则打印This name is not in the list。此功能可以改进,因为它使用"YES""NO"作为其布尔值。布尔值是用Python语言构建的,因此应该使用它。它也可以像这样使用内置方法index()

def D(target, Name):
    try:
        index = Name.index(target)
    except IndexError:
        print("This name is not in the list")
    else:
        print(target + " has been found at position " + str(index))