首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复TypeError:元音()缺少必需的位置参数:'filehandle'?

如何修复TypeError:元音()缺少必需的位置参数:'filehandle'?
EN

Stack Overflow用户
提问于 2021-11-08 00:46:11
回答 1查看 38关注 0票数 0

编写一个将文本文件的内容读入字符串的程序

代码语言:javascript
复制
def vowels(filehandle):
    num_vowel = 0
    vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
    for c in filehandle:
        if c in vowels:
            num_vowel = num_vowel+1
    return num_vowel

def consonants(filehandle):
    num_con = 0
    for c in filehandle:
        if c >= 'a' and c <= 'z':
            if c not in vowels:
                num_con = num_con+1
        elif c>='A' and c<='Z':
            if c not in vowels:
                num_con = num_con+1
    return num_con

def case(filehandle):
    uppercase = 0
    lowercase = 0
    for c in filehandle:
        if c>='a' and c<='z':
            uppercase=uppercase+1
        elif c>='A' and c<= 'Z':
            lowercase=lowecase+1
    return uppercase, lowercase

def main():
    vowel = vowels()
    consonants = consonants()
    uppercase, lowercase = case()
    try:
        filename=input('Enter name of text file: ')
        filehandle=open('words.txt', 'r')

        print('Vowels:', vowels)
        print('Consonants:', consonants)
        print('Uppercase:', uppercase)
        print('Lowercase:', lowercase)

        filehandle.close()
    except IOError:
        print('FILE NOT FOUND')


main()

当我尝试运行这个程序时,它给出了这个错误

代码语言:javascript
复制
line 31, in main
    vowel = vowels()
TypeError: vowels() missing 1 required positional argument: 'filehandle'

我对python和函数的使用还是个新手,所以如果你能用任何人都能理解的方式来描述它,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-11-08 00:49:12

vowels()的定义表明它需要一个参数:

代码语言:javascript
复制
def vowels(filehandle):

但是在main()中,您可以不带参数地调用它:

代码语言:javascript
复制
vowel = vowels()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69877663

复制
相关文章

相似问题

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