我在线上了一个Python入门课程希望能更有效地解决这个问题。
单词1、2、3、4、5、6、7、8、9称为序数形容词。编写一个从输入中读取整数x介于1到9之间的程序。程序应该输出与x对应的序号形容词。提示:您不需要有9个单独的情况;4就足够了。
x = int(input())
if x == 1:
print("1st")
elif x == 2:
print("2nd")
elif x == 3:
print("3rd")
elif x == 4:
print("4th")
elif x == 5:
print("5th")
elif x == 6:
print("6th")
elif x == 7:
print("7th")
elif x == 8:
print("8th")
elif x == 9:
print("9th")我想不出如何用四行写得更有效率。涉及到清单吗?他们还没有教过列表或数组。
发布于 2013-09-09 06:39:41
x = int(input())
if x == 1:
print("1st")
elif x == 2:
print("2nd")
elif x == 3:
print("3rd")
else:
print(str(x)+"th")发布于 2013-09-09 06:39:50
只需使用字符串格式。并说明1、2、3和其余数字之间的不同后缀。
x = int(raw_input())
if x == 1:
suffix = "st"
elif x == 2:
suffix = "nd"
elif x == 3:
suffix = "rd"
else:
suffix = "th"
print "{number}{suffix}".format(number=x,suffix=suffix)实际上,您可以通过映射而不是if/else块,以一种更节奏式的方式来完成这一任务。
x = int(raw_input())
suffix = {1: "st", 2: "nd", 3: "rd"}.get(x, "th")
print "{number}{suffix}".format(number=x, suffix=suffix)发布于 2013-09-09 06:43:22
为什么要转换为int
x = input()
if x == "1":
print("1st")
elif x == "2":
print("2nd")
elif x == "3":
print("3rd")
else:
print(x+"th")https://stackoverflow.com/questions/18692666
复制相似问题