早教吧 育儿知识 作业答案 考试题库 百科 知识分享

python程序问题(TypeError:cannotconcatenate'str'and'int'objects)原题是要求运行时是这样的:Pleasethinkofanumberbetween0and100!Isyoursecretnumber50?Enter'h'toindicatetheguessistoohigh.Enter'l'toindicatet

题目详情
python程序问题(TypeError:cannot concatenate 'str' and 'int' objects)
原题是要求运行时是这样的:
Please think of a number between 0 and 100!
Is your secret number 50?
Enter 'h' to indicate the guess is too high.Enter 'l' to indicate the guess is too low.Enter 'c' to indicate I guessed correctly.l(这个 l 以及下面的 h 和 c 是自己手动输入的)
Is your secret number 75?
Enter 'h' to indicate the guess is too high.Enter 'l' to indicate the guess is too low.Enter 'c' to indicate I guessed correctly.l
Is your secret number 87?
Enter 'h' to indicate the guess is too high.Enter 'l' to indicate the guess is too low.Enter 'c' to indicate I guessed correctly.c
Game over.Your secret number was:87
然后我的程序如下:
print "Please think of a number between 0 and 100!"
high=100
low=0
p=(low + high) / 2
print "Is your secret number" + p +"?"
i=raw_input("Enter 'h' to indicate the guess is too high.Enter 'l' to indicate the guess is too low.Enter 'c'to indicate I guessed correctly.")
while ='c':
if i=='h':
high = p
elif i=='l':
low = p
else :
print "Sorry,I did not understand your input."
p=(high + low) / 2
print "Is your secret number" + p +"?"
i=raw_input("Enter 'h' to indicate the guess is too high.Enter 'l' to indicate the guess is too low.Enter 'c'to indicate I guessed correctly.")
print "Game over.Your secret number was:"+ p
可是我运行时出了错误:TypeError:cannot concatenate 'str' and 'int' objects
ERROR:Failing on first line.
我不懂,求问我要怎么改呢(T^T)
▼优质解答
答案和解析
Python allow to concatenate strings by '+',but here,your p is an integer.
So,to solve it,you can use either of these:
1.print 'Is your secret number " + str(p) + "
2.print 'Is your secret number %d?"%p
(for multiple integers,you can '%d %d %d'%(num1,num2,num3)
3.print 'Is your secret number {0}?".format(p)
I personally like the second one best.It's more of c style,doesn't it?