k=int(input("enter a number"))
for i in range (1,11):
result = i * k
print (i, "x", k + "is" , result)
如果我拿出"是"它显示了这个:
1 x 7 7
2 x 7 14
3 x 7 21
4 x 7 28
5 x 7 35
6 x 7 42
7 x 7 49
8 x 7 56
9 x 7 63
10 x 7 70
当我添加"是"它显示了这个:
enter a number7
Traceback (most recent call last):
File "C:/Windows/System32/cool.py", line 7, in <module>
print (i, "x", k + "is" , result)
TypeError: unsupported operand type(s) for +: 'int' and 'str'
但我希望它看起来像:
1 x 7 is 7...
答案 0 :(得分:2)
您不能像执行k + "is"
时那样将字符串与数字连接。
使用k
函数将str
转换为字符串,或者使用字符串格式,这样可以更好,更安全地使用
print "{0} x {1} is {2}".format(i, k, result)
或者如果您想为变量命名
print "{i} x {k} is {result}".format(i=i, k=k, result=result)
答案 1 :(得分:0)
你的问题就在这一部分:
k + "is"
您无法一起添加字符串和整数。尝试用5 + "X"
编写一个简单的程序,你会看到同样的问题。要解决此问题,请确保在添加到另一个字符串之前将整数转换为字符串。
print (i, "x", str(k) + "is" , result)