2013-12-18 2 views
0

Мне нужно ввести пользовательский ввод 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 
>>> 
+1

Смотрите также: [роман] (https: //pypi.python .org/pypi/roman /) на pypi. – poke

+0

Как насчет 'roman = [" nulla "," I "," II "," III "," IV "," V "," VI "," VII "," VIII "," IX "," X " ] '? Тогда вы можете просто использовать 'roman [test]' –

ответ

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) 
3

Нет перекручивание требуется.

print test, roman[test - 1] 

-1, потому что массивы начинаются с 0, и вы начинаете с "I"

+0

Спасибо, я идиот за то, что не видел этого lol –

Смежные вопросы