第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