TypeError:必须是str,而不是int Python3问题



第6行有什么问题:

name = (input('Hi, please enter your name '))
dob = int(input('Hi please enter your DOB '))
today = int(input("Hi please enter today's date "))
future = int(today + 5)
diff = str(future - dob)
print ('Hi ' + name + 'in the year of ' + future + 'you will turn ' + diff)

我不断收到错误:

TypeError: must be str, not int

你们通常是如何调试的?我是编程新手。有没有一种方法可以确切地知道它想要字符串的位置?

Python无法自动将整型变量转换为字符串。

您需要显式地将future变量转换为str类型,如下所示:

print ('Hi ' + name + 'in the year of ' + str(future) + 'you will turn ' + diff)

future整数,因此不能与字符串连接。你可以这样做:

print ('Hi ' + name + 'in the year of ', future, 'you will turn ' + diff)

OR将int强制转换为str

print ('Hi ' + name + 'in the year of ' + str(future) + 'you will turn ' + diff)

示例:

name = (input('Hi, please enter your name '))
dob = int(input('Hi please enter your DOB '))
today = int(input("Hi please enter today's date "))
future = int(today + 5)
diff = str(future - dob)
print ('Hi ' + name + 'in the year of ', future, 'you will turn ' + diff)

输出:

C:UsersDocuments>py test.py
Hi, please enter your name job
Hi please enter your DOB 1876
Hi please enter today's date 2018
Hi jobin the year of  2023 you will turn 147

示例:

name = (input('Hi, please enter your name '))
dob = int(input('Hi please enter your DOB '))
today = int(input("Hi please enter today's date "))
future = int(today + 5)
diff = str(future - dob)
print ('Hi ' + name + 'in the year of ' + str(future) + 'you will turn ' + diff)

输出:

Hi, please enter your name job
Hi please enter your DOB 1876
Hi please enter today's date 2018
Hi jobin the year of 2023you will turn 147

最新更新