TypeError:rstrip arg必须是None或str:Python 3

时间:2013-08-29 21:50:14

标签: python python-3.x

当我运行我的代码时,我得到了这个

  

TypeError:rstrip arg必须为None或str

这是我的代码:

words = input("Words: ")
wordcount = len(words)
tweet = str(words)
x = 0
while wordcount <= 140:
    phrase = input("Words: ")
    tweet = tweet+' '+str(phrase)
    wordcount = len(tweet)
    print(wordcount)
    print(tweet)
    x = len(phrase)+1
    if wordcount >= 140:
        break

tweet = tweet.rstrip(x+1)
wordcount = len(tweet)
print(wordcount)
print(tweet)

注意:这是在python 3中

任何帮助?

2 个答案:

答案 0 :(得分:3)

您正在将integer传递给rstrip,如果此字符是您要从字符串右侧删除的字符,则必须传递None或某个字符。

示例:

'   aaab      '.rstrip()
#'   aaab'

'   aaabcccccc'.rstrip('c')
#'   aaab'

答案 1 :(得分:1)

从你的评论中,听起来你想要“删除x+1推文的长度”。为此,您可以使用字符串切片。 My_String[a:b]会为您提供一个新字符串,其中包含字符编号a中的字符到字符编号b-1。如果你将任何一方留空,它将转到字符串的那一端(即。My_String[a:]将从a转到字符串的末尾)。要从字符串的结尾开始,请使用负数。您的代码应如下所示:

tweet = tweet[:-x]