Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决Python 3中的“Str不可调用”错误?_Python_Python 3.x - Fatal编程技术网

如何解决Python 3中的“Str不可调用”错误?

如何解决Python 3中的“Str不可调用”错误?,python,python-3.x,Python,Python 3.x,感谢您的指导。我对编程很陌生 问题:“str不可调用”的运行时错误。并且,可能是语义错误。具体说明:如果镜头只需更换 len变量 还有别的 len是一个Python关键字sir,它是保留的,不打算用作变量如果我理解您的要求,您希望在字符串前面留出足够的空格,以便最后一个字符位于第70列 您不需要迭代字符串。这将实现你所需要的。注意,在函数中输入没有意义,因为不能使用字符串参数调用函数 def right_justify(s): ''' (string) -> string

感谢您的指导。我对编程很陌生

问题:“str不可调用”的运行时错误。并且,可能是语义错误。具体说明:如果镜头只需更换

len变量

还有别的


len是一个Python关键字sir,它是保留的,不打算用作变量

如果我理解您的要求,您希望在字符串前面留出足够的空格,以便最后一个字符位于第70列

您不需要迭代字符串。这将实现你所需要的。注意,在函数中输入没有意义,因为不能使用字符串参数调用函数

def right_justify(s):
    '''
    (string) -> string
    takes a string named s
    places it in column 70 - len of string
    '''
    if len(s) <= 70:
        output = ((70 - len(s)) * " ") + s
        return output

input_string = input("Type in a word: ")
output_string = right_justify(input_string)
print(output_string)
最简单的方法是:

def right_justify(s):
    return "%70s" % s

你认为len在做什么?很抱歉,只看你的代码,我真的不知道你想做什么。。对于len,按每个字符循环字符串,如果lens不能回答您的问题。但是python字符串已经有了一个内置的rjust方法,您可以使用它。我真的不想听起来太刺耳,但示例代码表明对Python的基础知识缺乏理解。因此,即使我们回答你的问题,你也可能不理解。实际上,我们必须写一本书来回答你可以使用的问题,因为我们无法准确地猜测你的知识,所以只要从一篇好的初学者文章开始,比如,在线免费的。如果卡住了,请在StackOverflow之前询问freenode上的python IRC。对不起。@Zuckerbrenner,当你说在PEP8中运行代码时,它不会返回任何语法错误。我猜你的意思是,你运行代码时,通过一些linter检查PEP8样式的错误。请注意,PEP8不解决语法错误,它是一个样式指南。PEP8 linter失败的事情在语法上肯定是100%正确的。这有什么帮助?这样可以消除异常,但无法使代码正常工作。就像用户Haken Lid对这个问题的评论一样,Python内置了一个正确的对齐方法:谢谢,Chris。你的回答让我明白了很多。@Zuckerbrenner,我的荣幸!
def right_justify(s):
    return "%70s" % s