Code Kata | day6 roman_to_num
Q.ローマ字を数字1~3999の間のローマ字sに変換してパラメータとして、該当する数字を返してください.
文字の値 を指定します.異常を使用して
コード長は似ていますが、「ディック・シャナリー」と「
その後、ローマ字を追加する場合は、修正する部分が少なくなります.
0回
if
をスクリーニング▼▼▼1回
def roman_to_num(s):
# 여기에 코드를 작성해주세요.
I = s.count('I') * 1
V = s.count('V')* 5
X = s.count('X') * 10
L = s.count('L') * 50
C = s.count('C') * 100
D = s.count('D') * 500
M = s.count('M') * 1000
result = I + V + X + L + C + D + M
if 'IV' in s or 'IX' in s:
result -= 2
if 'XL' in s or 'XC' in s:
result -= 20
if 'CD' in s or 'CM' in s:
result -= 200
return result
元のルールで計算された値と例外の場合に計算された値の差を返す変数に適用されます.2回目
def roman_to_num2(s):
# 여기에 코드를 작성해주세요.
dict={'I' : 1,
'V' : 5,
'X' : 10,
'L' : 50,
'C' : 100,
'D' : 500,
'M' : 1000}
a = 0
for i in s :
a += dict[i]
if 'IV' in s or 'IX' in s:
a -= 2
if 'XL' in s or 'XC' in s:
a -= 20
if 'CD' in s or 'CM' in s:
a -= 200
return a
ローマ字と指定された数字をディクシャナに格納します.for
を使用して、a
を返す値を累計して格納します.コード長は似ていますが、「ディック・シャナリー」と「
for
」を使用して重複コードを消去します.その後、ローマ字を追加する場合は、修正する部分が少なくなります.
Reference
この問題について(Code Kata | day6 roman_to_num), 我々は、より多くの情報をここで見つけました https://velog.io/@e2joo418/Code-Kata-day6-romantonumテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol