如何获取输入并将其通过程序中的函数?

时间:2014-04-23 00:00:08

标签: python

    def makeArray(a):
        a = []
        for i in range(n):
            a.append(i)
        return a

    print makeArray(a)

    import random
    def shuffleArray(a):

    size = len(a)

    for i in range(size):
        r = random.randrange(0,size)
        if r != i:
            temp = a[r]
            a[r] = a[i]
            a[i] = temp
    return a

print shuffleArray(makeArray(a))

if __name__ == '__main__':
    a = raw_input("please enter size of array: ")
    print ("you entered " + a)

    makeArray(a)
    shuffleArray(a)

如何让这段代码通过终端请求输入并通过这两个函数获取输入然后返回结果?我要求用户输入存储输入的变量打印结果,然后通过randominzing进行混洗。

1 个答案:

答案 0 :(得分:1)

def makeArray(n):
    a = []      #you were using 'a' for the size and the array itself at the same time
    for i in range(n):
        a.append(i)
    return a        

import random

def shuffleArray(a):
    size = len (a)
    for i in range(size):
        r = random.randrange(0,size)
        if r != i:
            temp = a[r]
            a[r] = a[i]
            a[i] = temp
    return a



if __name__ == '__main__':
    n = int(raw_input("please enter size of array: "))      #'n' needs to be an integer because it's the size of the array
    print ("you entered " + str(n))

    anArray = makeArray(n)        
    print shuffleArray(anArray)

您也可以替换:

def makeArray(n):
    a = []
    for i in range(n):
        a.append(i)
    return a       

使用:

def makeArray(n):
    a = list(range(n))
    return a