2013-08-29 103 views
-1

運行我的代碼,我得到這個類型錯誤:rstrip ARG必須是無或STR:Python 3的

TypeError: rstrip arg must be None or 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

有幫助嗎?

+5

您認爲'rstrip'的作用是什麼? –

+5

你期望'tweet.rstrip(x + 1)'做什麼? – arshajii

+0

或更重要的一點;你認爲'x + 1'是None還是一個字符串? – Ben

回答

2

如果您要傳遞integerrstrip,則必須通過None或某個字符,如果此字符是您想要從字符串的右側移除的字符。

例子:

' aaab  '.rstrip() 
#' aaab' 

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

從您的評論,這聽起來像你想「剝離長度x+1關鳴叫」。要做到這一點,你可以使用字符串切片。 My_String[a:b]將爲您提供一個新字符串,其字符編號爲a,字符編號爲b-1。如果任何一方都爲空,它將轉到該字符串的末尾(即My_String[a:]將從a變爲字符串的末尾)。要從字符串的結尾開始,請使用負數。您的代碼應該如下所示:

tweet = tweet[:-x] 
相關問題