首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以调用这样的函数吗?通过创建函数数组/?编码新手

我可以调用这样的函数吗?通过创建函数数组/?编码新手
EN

Stack Overflow用户
提问于 2020-04-03 04:56:33
回答 1查看 24关注 0票数 1

这段代码是在一个项目中设计的,目的是让绞刑者猜测用户需要的字母,给用户不超过6次猜测错误字母的尝试。这意味着你将不得不有一个计数器。您可以下载一个‘sowpods’字典文件或csv文件,作为获取要使用的随机单词的一种方式。

代码语言:javascript
复制
import random

alpha = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
beta = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
func = [hang1(), hang2(), hang3(), hang4(), hang5(), hang6(), hang7(), hang8(), hang9(), hang10(), hang11(), hang12()]

def randWord():
    words = []
    with open('sowpods.txt', 'r') as f:
        line = f.readline().strip()
        words.append(line)
        while line:
            line = f.readline().strip()
            words.append(line)
    random_index = random.randint(0 , len(words))
    rWord = words[random_index]
    lowrWord = rWord.lower()
    return lowrWord

def userIn():
    value = input("Guess a letter?\n")
    if value in alpha:
        return value 
    else:
        print("Not in alphabet! Try again")
        userIn()
    return value

def matchWord():
    while beta != []:
        randoW = randWord()
        myChoice = userIn()
        i = 0
        while i == 0:
            def printA():
                if myChoice in beta:
                    beta.remove(myChoice)
                print(*beta, sep = ", ")

            if myChoice in randoW:
                print("You are correct!")
                printA()

            else:
                print("Your are incorrect!")
                printA()
                hang1()
                i = i + 1
        else:
            def printA():
                if myChoice in beta:
                    beta.remove(myChoice)
                print(*beta, sep = ", ")

            if myChoice in randoW:
                print("You are correct!")
                printA()
                func[i]

            else:
                print("Your are incorrect!")
                printA()
                hang1()
                i = i + 1
                func[i]

matchWord()

def hang1():
    print("|       ")
    print("|       ")
    print("|       ")
    print("|       ")
    print("|         ")
    print("|         ")
    print("|         ")
    print("|")
    print("|")
    print("|")
    print("| ")
    print("|  ")
    print("|")

def hang2():
    print("|       ")
    print("|       ")
    print("|       ")
    print("|       ")
    print("|         ")
    print("|         ")
    print("|         ")
    print("|")
    print("|")
    print("|")
    print("| ")
    print("|  ")
    print("|____________________________")

def hang3():
    print("|       ")
    print("|       ")
    print("|       ")
    print("|       ")
    print("|         ")
    print("|         ")
    print("|         ")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang4():
    print(" _______________")
    print("|       ")
    print("|       ")
    print("|       ")
    print("|       ")
    print("|         ")
    print("|         ")
    print("|         ")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang5():
    print(" _______________")
    print("|   /     ")
    print("|  /      ")
    print("| /       ")
    print("|/        ")
    print("|         ")
    print("|         ")
    print("|         ")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang6():
    print(" _______________")
    print("|   /     |")
    print("|  /      |")
    print("| /       |")
    print("|/      ")
    print("|         ")
    print("|          ")
    print("|           ")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang7():
    print(" _______________")
    print("|   /     |")
    print("|  /      |")
    print("| /      _|_")
    print("|/      |___|")
    print("|         ")
    print("|          ")
    print("|           ")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang8():
    print(" _______________")
    print("|   /     |")
    print("|  /      |")
    print("| /      _|_")
    print("|/      |___|")
    print("|        | | ")
    print("|          ")
    print("|           ")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang9():
    print(" _______________")
    print("|   /     |")
    print("|  /      |")
    print("| /      _|_")
    print("|/      |___|")
    print("|        | | ")
    print("|       /   ")
    print("|      /     ")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang10():
    print(" _______________")
    print("|   /     |")
    print("|  /      |")
    print("| /      _|_")
    print("|/      |___|")
    print("|        | | ")
    print("|       /   \\")
    print("|      /     \\")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

def hang11():
    print(" _______________")
    print("|   /     |")
    print("|  /      |")
    print("| /      _|_")
    print("|/      |___|")
    print("|      __| |")
    print("|     |__   ")
    print("|       /   \\")
    print("|      /     \\")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|____________________________")

def hang12():
    print(" _______________")
    print("|   /     |")
    print("|  /      |")
    print("| /      _|_")
    print("|/      |___|")
    print("|      __| |__ ")
    print("|     |__   __|")
    print("|       /   \\")
    print("|      /     \\")
    print("|")
    print("|")
    print("|\\")
    print("| \\")
    print("|  \\")
    print("|___\\_______________________")

嘿!感谢大家的帮助!基本上,我不确定是否允许像我一样以数组格式调用函数-有什么建议吗?我是个新手,所以任何东西都会有帮助!

EN

回答 1

Stack Overflow用户

发布于 2020-04-03 05:01:35

当您创建列表时,将调用这些函数。当你写一些像这样的东西

代码语言:javascript
复制
funcs = [hang1(), hang2(), ...]

它类似于

代码语言:javascript
复制
temp1 = hang1()
temp2 = hang2()
...
funcs = [temp1, temp2, ...]

如果您想稍后调用这些函数,只需将函数名称放在列表中:

代码语言:javascript
复制
funcs = [hang1, hang2, ...]

然后在访问列表元素时添加括号:

代码语言:javascript
复制
funcs[i]()

此外,Python是按顺序解释的。在funcs中引用它们之前,您需要将所有hangX定义放入其中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61000977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档