将一位数整数输入改为序数

2024-05-19 10:53:07 发布

您现在位置:Python中文网/ 问答频道 /正文

计算机科学界第九课的第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'


Tags: 代码用户inputif计算机情况数字int
1条回答
网友
1楼 · 发布于 2024-05-19 10:53:07

如注释所示,不能将整数与字符串组合。 但是,您可以将一个字符串添加到另一个字符串中。在

我的意思是:

当您尝试将一个数字与字符串组合时,即1 + 'st',您将得到一个TypeError: unsupported operand type(s) for +: 'int' and 'str'

但是,如果您尝试将一个类型化的数字与另一个字符串(如str(1) + 'st')组合,您将得到所需的输出1st。在

类似地,在代码中,x + 'st',这是整数和字符串之间的非法加法。相反,请尝试打印x的打印版本,我将其称为x_str

x = int(input())
x_str = str(x)

if x == 1:
    print (x_str+'st')
elif x == 2:
    print (x_str+'nd')
elif x == 3:
    print (x_str+'rd')
else:
    print (x_str+'th')

相关问题 更多 >

    热门问题