2016-10-28 41 views
0

我正在做一個練習問題,我需要從字符串中讀取輸入。如何讀取輸入()作爲Python中的字符串

person_age = 6 
person_name = '' 
person_name = input() 
print('In 5 years', person_name, 'will be', person_age + 5) #not editable 

但是,我得到的錯誤:TypeError: Can't convert 'int' object to str implicitly

我假設它這樣做是因爲PERSON_NAME已被解讀爲即使提供的字符串一個int。我怎樣才能得到這份工作?趕上是我不能編輯打印行。我只能在1聲明中代替person_name = input()來做到這一點。我GOOGLE了它,看到,而不是使用的raw_input但功能不存在(也許是我對蟒蛇3)

+0

你能複製並粘貼整個回溯而不只是'TypeError'行嗎? – rlee827

+1

如果你沒有'raw_input',那麼你在Python 3上,'input'總是返回一個字符串。我只是在Python 2.7和3.5上運行你的代碼,並沒有給我一個錯誤。 – cco

+0

沒有什麼趣事:'回溯(最近一次通話最後):文件「main.py」,第7行,在 print('5年後,person_name','person_age + 5) TypeError:Can not將'int'對象隱式轉換爲str' – dukevin

回答

0

下面是一個例子,我發現:

1. name = input("What's your name? ")

2. print("Nice to meet you " + name + "!")

3. age = input("Your age? ")

4. print("So, you are are already " + age + " years old, " + name + "!")

輸出看起來像:

你叫什麼名字? 「弗蘭克」

很高興認識你弗蘭克!

您的年齡? 30

所以,你已經30歲了,弗蘭克!

檢查以下網站獲取更多這樣的例子: http://www.python-course.eu/python3_input.php

希望這有助於!

+0

OP正在做'person_age + 5',他聲稱給出錯誤 - 但不是,他的代碼運行乾淨。在你的情況下,'age'是一個字符串,如果你試圖添加5會引發OP的異常。他沒有錯誤...但是這個答案確實有錯誤OP要求...但是我不認爲這使它成爲答案! – tdelaney

相關問題