计算机科学界第九课的第2题要求用户只使用4个独立的if/elif情况将输入的一个数字改为序数形容词。这是我下面的代码,它给我的是'1th'而不是'1st'。。在
x = input()
if x == 1:
print (1+'st')
elif x == 2:
print (x+'nd')
elif x == 3:
print (x+'rd')
else:
print (x+'th')
如果将x = input()
更改为x = int(input())
,则会出现以下错误:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
如注释所示,不能将整数与字符串组合。 但是,您可以将一个字符串添加到另一个字符串中。在
我的意思是:
当您尝试将一个数字与字符串组合时,即
1 + 'st'
,您将得到一个TypeError: unsupported operand type(s) for +: 'int' and 'str'
但是,如果您尝试将一个类型化的数字与另一个字符串(如
str(1) + 'st'
)组合,您将得到所需的输出1st
。在类似地,在代码中,
x + 'st'
,这是整数和字符串之间的非法加法。相反,请尝试打印x
的打印版本,我将其称为x_str
:相关问题 更多 >
编程相关推荐