Python implementiert einfach die Konvertierung zwischen arabischen und römischen Ziffern

不言
Freigeben: 2023-03-24 07:44:02
Original
3052 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich Pythons einfache Implementierung der Konvertierung arabischer Ziffern und römischer Ziffern ineinander und voneinander vorgestellt, einschließlich Pythons Operationsfähigkeiten für das Durchlaufen von Zeichenfolgen und Listen, Operationen usw. Freunde in Not können sich darauf beziehen

Das Beispiel in diesem Artikel beschreibt, wie Python die Konvertierungsfunktion zwischen arabischen Ziffern und römischen Ziffern implementiert. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Im vorherigen Artikel wurde die „Java-Implementierung zur Lösung des Problems der Konvertierung klassischer römischer Ziffern und arabischer Ziffern“ vorgestellt. Hier finden Sie einen Blick auf die Implementierungsmethode in Python.

Die Frage ist sehr einfach. Wenn Sie diese Art von Frage schon einmal gestellt haben, werden Sie wahrscheinlich nicht unbekannt sein, was römische Ziffern sind, eine sehr alte Zählmethode, die an manchen Orten immer noch verwendet wird Um es heute zu verwenden, posten wir einfach zwei Bilder aus Wikipedia, um die römischen Ziffern kurz zu besprechen:

Heute implementieren wir einfach arabische Ziffern . Das Konvertierungsproblem zwischen römischen Ziffern und römischen Ziffern ist sehr einfach und ich werde hier nicht auf Details eingehen. Das Folgende ist die spezifische Implementierung:

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:阿拉伯数字和罗马数字的互相转换
'''
def transform_alabo2_roman_num(one_num):
  '''''
  将阿拉伯数字转化为罗马数字
  '''
  num_list=[1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
  str_list=["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
  res=''
  for i in range(len(num_list)):
    while one_num>=num_list[i]:
      one_num-=num_list[i]
      res+=str_list[i]
  return res
def transform_roman_num2_alabo(one_str):
  '''''
  将罗马数字转化为阿拉伯数字
  '''
  define_dict={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
  if one_str=='0':
    return 0
  else:
    res=0
    for i in range(0,len(one_str)):
      if i==0 or define_dict[one_str[i]]<=define_dict[one_str[i-1]]:
        res+=define_dict[one_str[i]]
      else:
        res+=define_dict[one_str[i]]-2*define_dict[one_str[i-1]]
    return res
    # #下面这种写法也可以
    # for i in range(len(one_str)):
    #   if i > 0 and define_dict[one_str[i]] > define_dict[one_str[i - 1]]:
    #     res -= define_dict[one_str[i - 1]]
    #     res += define_dict[one_str[i]] - define_dict[one_str[i - 1]]
    #   else:
    #     res += define_dict[one_str[i]]
    # return res
if __name__ == &#39;__main__&#39;:
  print &#39;**************将罗马数字转化为阿拉伯数字**************&#39;
  one_str_list=[&#39;DII&#39;,&#39;XV&#39;,&#39;MDCLXVI&#39;,&#39;XII&#39;,&#39;VIII&#39;,&#39;XCIX&#39;,&#39;XII&#39;]
  for one_str in one_str_list:
    print one_str,&#39;----->&#39;,transform_roman_num2_alabo(one_str)
  print &#39;**************将阿拉伯数字转化为罗马数字**************&#39;
  one_num_list=[77,66,55,8,1200,34,65,3,21,99]
  for one_num in one_num_list:
    print one_num,&#39;----->&#39;,transform_alabo2_roman_num(one_num)
Nach dem Login kopieren

Die Ergebnisse sind wie folgt:

Verwandte Empfehlungen:

Python implementiert die Baidu-Spracherkennungs-API

Python implementiert die Methode zur Lösung des größten gemeinsamen Teilers

Das obige ist der detaillierte Inhalt vonPython implementiert einfach die Konvertierung zwischen arabischen und römischen Ziffern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!