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__ == '__main__': print '**************将罗马数字转化为阿拉伯数字**************' one_str_list=['DII','XV','MDCLXVI','XII','VIII','XCIX','XII'] for one_str in one_str_list: print one_str,'----->',transform_roman_num2_alabo(one_str) print '**************将阿拉伯数字转化为罗马数字**************' one_num_list=[77,66,55,8,1200,34,65,3,21,99] for one_num in one_num_list: print one_num,'----->',transform_alabo2_roman_num(one_num)
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!