直接暴力求和,沒有用到什麼演算法,因為兩個字典都不大,所以複雜度不算太高
主要是一些判斷邏輯
目前測試沒什麼問題
nums =
levels =
str_num = input().replace('零', '') + '個'
num_len = len(str_num)
sum = 0
i = 0
flag = false
if str_num[0] == '十':
flag = true
sum = 10
i = 1
while i < num_len:
if str_num[i] in nums.keys() and str_num[i + 1] in levels.keys():
number = nums[str_num[i]]
level = levels[str_num[i + 1]]
if flag:
flag = false
sum += number
sum *= level
else:
sum += number * level
i += 2
elif str_num[i] in levels.keys():
sum = sum * levels[str_num[i]]
i += 1
print(sum)
羅馬轉數字
羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常情況下,羅馬數字中...
QDU 反轉數字
描述 輸入乙個 c 語言 4位元組 int 範圍內的數字,輸出它反轉後的數字。比如12345反轉後是54321,12345反轉後是 54321。如果反轉後的數字不在 int 範圍內就輸出0 輸入 每行乙個 int 範圍內的數字,以 eof 結尾。輸出 輸出反轉後的數字,每行乙個 注意 帶著pow運算...
788 旋轉數字
我們稱乙個數 x 為好數,如果它的每位數字逐個地被旋轉 180 度後,我們仍可以得到乙個有效的,且和 x 不同的數。要求每位數字都要被旋轉。如果乙個數的每位數字被旋轉以後仍然還是乙個數字,則這個數是有效的。0,1,和 8 被旋轉後仍然是它們自己 2 和 5 可以互相旋轉成對方 6 和 9 同理,除了...