首页 > 编程 > 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. } 
  12. items = sorted(NumDic.items()) 
  13. retstr = '' 
  14. for item in items: 
  15. str = '' 
  16. (Num,modNum) = divmod(Num,10) 
  17. if modNum != 0: 
  18. if item[0] != '4': 
  19. if modNum <= 3: 
  20. while modNum > 0: 
  21. str = str.join(['',item[1][0]]) 
  22. modNum -= 1 
  23. elif modNum < 5: 
  24. str = item[1][1] 
  25. elif modNum == 5: 
  26. str = item[1][2] 
  27. elif modNum < 9: 
  28. str = item[1][2] 
  29. while modNum > 5: 
  30. str = str.join(['',item[1][0]]) 
  31. modNum -= 1 
  32. else: 
  33. str = item[1][3] 
  34. else: 
  35. while modNum > 0: 
  36. str = str.join(['',item[1][0]]) 
  37. modNum -= 1 
  38. retstr = str.join(['',retstr]) 
  39. return retstr 

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

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