尝试循环遍历数字列表,以便输出在单独的行上读取结果。
给出的说明: - 将数字 1-9 存储在列表中。 - 循环浏览列表。 - 在循环内使用 if-elif-else 链来打印每个数字的适当结尾。输出应为“1st、2nd、3rd、4th、5th、6th、7th、8th、9th”,每个结果位于单独的行上。除了 1st、2nd、3rd 之外,大多数序数以“th”结尾。
我的问题:我的单个循环代码有问题。
正确的写法是什么?
numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for numbers in numbers:
if '1' in numbers:
print(" + number +" "st.")
elif '2' in numbers:
print(" + number + " "nd.")
elif '3' in numbers:
print(" + number + " "rd.")
else:
print(" + number +" "th.")
当你说:
if '1' in numbers:
您正在检查该项目是否在列表中,这对于每次迭代都是如此,因此每次迭代都会打印
'1st'.
您需要做的是检查单个值,您已将其指定为数字,但应在每次迭代时更改为数字
for number in numbers:
if number == '1': print('{}st.'.format(number))
希望这是有道理的!
我也刚刚注意到,
print(" + number +" "st.")
我假设您正在尝试在此处连接字符串。我建议使用格式,如上面所示。但是,要连接此语句,您需要说 print(number + "st.")
你很接近。在 for 循环中,您希望枚举器与您正在枚举的列表不同。然后该枚举器包含您正在比较的对象,因此在打印中您不需要
number
周围的引号
numbers = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
for number in numbers:
if '1' in number:
print( number +"st.")
elif '2' in number:
print(number + "nd.")
elif '3' in number:
print( number + "rd.")
else:
print(number +"th.")
要回答你的最后一个问题,没有一种正确的方法可以做到这一点。不同的人根据个人喜好和语言知识水平有不同的方法。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for number in numbers:
if number == 1:
print(str(number) + "st.")
elif number == 2:
print(str(number)+ "nd.")
elif number == 3:
print(str(number)+ "rd.")
else:
print(str(number)+ "th.")
序数:序数表示它们在列表中的位置,例如 作为第一或第二。大多数序数以 th 结尾,除了 1、2 和 3。 • 将数字 1 到 9 存储在列表中。 •循环浏览列表。 •在循环内使用 if- elif- else 链来打印正确的序数结束 - ing 为每个数字。您的输出应为“1st 2nd 3rd 4th 5th 6th 7th 8th 9th”,每个结果应该单独占一行。
数字 = [] 对于范围 (1,10) 中的数字: 打印(数字) 如果数字 == 1: 打印('第一个') elif 数 == 2: 打印('第二') elif 数 == 3: 打印('第三') elif 数 == 4: 打印('第四') elif 数 == 5: 打印('第五') elif 数 == 6: 打印('第六') elif 数 == 7: 打印('第七') elif 数 == 8: 打印('第8') elif 数 == 9: 打印('第9') 别的: 打印(' 找到解决这个例子的正确方法。 ')