根据用户输入从列表中打印值

时间:2013-12-18 23:35:26

标签: python python-3.x

我需要输入用户输入1-10并打印出它的罗马数字。因此,如果他们输入5我需要打印'V'。

test = int(input("Enter in a number '1-10' "))
roman = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X"]
if test in range(1, 10):
    for i in range(len(roman)):
        print(test, roman[i])

我有什么,但它不像我想要的那样工作。这就是吐出来的东西。 输入数字“1-10”5

5 I
5 II
5 III
5 IV
5 V
5 VI
5 VII
5 VIII
5 IX
5 X
>>> 

2 个答案:

答案 0 :(得分:3)

不需要循环。

print test, roman[test - 1]

-1是因为数组从0开始,而你从"I"

开始

答案 1 :(得分:2)

一种方法:

test = int(input("Enter in a number '1-10' "))
roman = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X"]
if 0 < test <= 10:
     i = roman[test-1]
     print(test, i)