首页 > 编程 > Python > 正文

Python将阿拉伯数字转换为罗马数字的方法

2020-01-04 18:06:07
字体:
来源:转载
供稿:网友

这篇文章主要介绍了Python将阿拉伯数字转换为罗马数字的方法,涉及Python字符串转换及流程控制的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法。分享给大家供大家参考。具体实现方法如下:

 

 
  1. def numToRomanNum(Num): 
  2. """digital will be converted into Roman numerals,Ex: numToRomanNum(3999)""" 
  3. if Num < 1 or Num > 3999: 
  4. print 'The Num must in 1-3999' 
  5. else
  6. NumDic = { 
  7. '1':('I','IV','V','IX'), 
  8. '2':('X','XL','L','XC'), 
  9. '3':('C','CD','D','CM'), 
  10. '4':('M'
  11. items = sorted(NumDic.items()) 
  12. retstr = '' 
  13. for item in items: 
  14. str = '' 
  15. (Num,modNum) = divmod(Num,10) 
  16. if modNum != 0: 
  17. if item[0] != '4'
  18. if modNum <= 3: 
  19. while modNum > 0: 
  20. str = str.join(['',item[1][0]]) 
  21. modNum -= 1 
  22. elif modNum < 5: 
  23. str = item[1][1] 
  24. elif modNum == 5: 
  25. str = item[1][2] 
  26. elif modNum < 9: 
  27. str = item[1][2] 
  28. while modNum > 5: 
  29. str = str.join(['',item[1][0]]) 
  30. modNum -= 1 
  31. else
  32. str = item[1][3] 
  33. else
  34. while modNum > 0: 
  35. str = str.join(['',item[1][0]]) 
  36. modNum -= 1 
  37. retstr = str.join(['',retstr]) 
  38. return retstr 

希望本文所述对大家的Python程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表