Python 은 아라비아 숫자 와 로마 숫자의 상호 전환 기능 예 시 를 간단하게 실현 한다.
전편 에 서 는'자바 가 실현 한 고전 로마 숫자 와 아랍 숫자 의 상호 전환 문제'을 소개 하 며 파 이 썬 의 실현 방법 을 살 펴 봤 다.
제목 은 간단 합 니 다.이전에 도 이런 문 제 를 풀 었 다 면 로마 숫자 가 무엇 인지 낯 설 지 않 을 것 이 라 고 믿 습 니 다.로마 숫자 는 아주 오래된 계산 방법 입 니 다.현재 일부 지역 에 서 는 그것 을 사용 하 는 것 도 볼 수 있 습 니 다.다음은 위 키 피 디 아 두 장의 그림 을 간단하게 붙 여 로마 숫자 를 돌 이 켜 보 겠 습 니 다.
오늘 간단하게 실현 해 보 자.아라비아 숫자 와 로마 숫자 간 의 상호 전환 문 제 는 간단 하 다.다음은 구체 적 인 실현 이다.
#!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)
결 과 는 다음 과 같다.더 많은 파 이 썬 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.