组卷题库 > 高中信息技术试卷库
试题详情
罗马数字是阿拉伯数字传入之前使用的一种数码。罗马数字采用七个罗马字母作基本数字,即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。

具体的记数方法为:

①相同的数字连写,所表示的数等于这些数字相加得到的数,如Ⅲ=3;

②小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如Ⅷ=8、Ⅻ=12;

③单个小的数字(限于Ⅰ、X和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如Ⅳ=4、Ⅸ=9

王老师结合上述规则,在7个基本数字基础上新增了部分常用数字,并设计了一个将罗马数字和阿拉伯数字进行相互转换的程序,运行界面如图所示:

实现该功能的程序代码如下:

num=[1000, 900, 500, 400,  100, 90, 50, 40,  10, 9, 5, 4,  1]

roma={1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL',  10: 'X', 9: 'IX', 5: 'V', 4: 'IV',  1: 'I'}
s=input('输入一个罗马数字: ')

result1=0

    ①  

for i in range(13):

  while s[k:k+len(roma[num[i]])]==roma[num[i]]:

  result1 += num[i]

 

print('阿拉伯数字是:',result1)

n=int(input('输入一个阿拉伯数字:'))

result2=''

for i in range(13):

  while n>=num[i]:

    result2 = result2 + roma[num[i]]

    ②   

print('罗马数字是:',result2)

根据以上代码,回答下列问题:

知识点
参考答案
采纳过本试题的试卷
教育网站链接