Compare commits
7 Commits
1d684b4d65
...
1c2f806960
| Author | SHA1 | Date | |
|---|---|---|---|
| 1c2f806960 | |||
| 6fafcfac08 | |||
| a5e72e9402 | |||
| 81b25abc2b | |||
| 5ab3c0535a | |||
| 030979e4a0 | |||
| f90bc95256 |
@ -15,7 +15,7 @@ Repository for CDS-2020 Programming and Promt Engineering II
|
|||||||
|build|Build-System, Dependencies|build: update requirements.txt|
|
|build|Build-System, Dependencies|build: update requirements.txt|
|
||||||
|
|
||||||
# Codewars
|
# Codewars
|
||||||
|Title|Source (src/codewars/)|Test (test/codewars/)|URL|
|
|Title|Source (src/codewars/)|Test (test/test_codewars/)|URL|
|
||||||
|-|-|-|-|
|
|-|-|-|-|
|
||||||
|Find the force of gravity between two objects|kata_force_of_gravity.py|test_force_of_gravity.py|[5b609ebc8f47bd595e000627](https://www.codewars.com/kata/5b609ebc8f47bd595e000627)|
|
|Find the force of gravity between two objects|kata_force_of_gravity.py|test_force_of_gravity.py|[5b609ebc8f47bd595e000627](https://www.codewars.com/kata/5b609ebc8f47bd595e000627)|
|
||||||
|The Lamp: Revisited|kata_the_lamp.py|test_the_lamp.py|[570e6e32de4dc8a8340016dd](https://www.codewars.com/kata/570e6e32de4dc8a8340016dd)|
|
|The Lamp: Revisited|kata_the_lamp.py|test_the_lamp.py|[570e6e32de4dc8a8340016dd](https://www.codewars.com/kata/570e6e32de4dc8a8340016dd)|
|
||||||
@ -30,3 +30,4 @@ Repository for CDS-2020 Programming and Promt Engineering II
|
|||||||
|Who has the most money?|kata_who_the_most_money.py|test_who_the_most_money.py|[528d36d7cc451cd7e4000339](https://www.codewars.com/kata/528d36d7cc451cd7e4000339)|
|
|Who has the most money?|kata_who_the_most_money.py|test_who_the_most_money.py|[528d36d7cc451cd7e4000339](https://www.codewars.com/kata/528d36d7cc451cd7e4000339)|
|
||||||
|Next bigger number with the same digits|kata_next_bigger_number_same_digits.py|test_next_bigger_number_same_digits.py|[55983863da40caa2c900004e](https://www.codewars.com/kata/55983863da40caa2c900004e)|
|
|Next bigger number with the same digits|kata_next_bigger_number_same_digits.py|test_next_bigger_number_same_digits.py|[55983863da40caa2c900004e](https://www.codewars.com/kata/55983863da40caa2c900004e)|
|
||||||
|Snail|kata_snail.py|test_snail.py|[521c2db8ddc89b9b7a0000c1](https://www.codewars.com/kata/521c2db8ddc89b9b7a0000c1)|
|
|Snail|kata_snail.py|test_snail.py|[521c2db8ddc89b9b7a0000c1](https://www.codewars.com/kata/521c2db8ddc89b9b7a0000c1)|
|
||||||
|
|Chinese Numeral Encoder|kata_chinese_numeral_encoder.py|test_chinese_numeral_encoder.py|[52608f5345d4a19bed000b31](https://www.codewars.com/kata/52608f5345d4a19bed000b31)|
|
||||||
|
|||||||
52
src/codewars/kata_chinese_numeral_encoder.py
Normal file
52
src/codewars/kata_chinese_numeral_encoder.py
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
C = {
|
||||||
|
"-": "负",
|
||||||
|
".": "点",
|
||||||
|
0: "零",
|
||||||
|
1: "一",
|
||||||
|
2: "二",
|
||||||
|
3: "三",
|
||||||
|
4: "四",
|
||||||
|
5: "五",
|
||||||
|
6: "六",
|
||||||
|
7: "七",
|
||||||
|
8: "八",
|
||||||
|
9: "九",
|
||||||
|
10: "十",
|
||||||
|
100: "百",
|
||||||
|
1000: "千",
|
||||||
|
10000: "万",
|
||||||
|
11: "十一",
|
||||||
|
12: "十二",
|
||||||
|
13: "十三",
|
||||||
|
14: "十四",
|
||||||
|
15: "十五",
|
||||||
|
16: "十六",
|
||||||
|
17: "十七",
|
||||||
|
18: "十八",
|
||||||
|
19: "十九",
|
||||||
|
}
|
||||||
|
|
||||||
|
D = {2: 10, 3: 100, 4: 1000, 5: 10000}
|
||||||
|
|
||||||
|
|
||||||
|
def to_chinese_numeral(n):
|
||||||
|
try:
|
||||||
|
return C[n]
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
split_number = [int(x) for x in str(n)]
|
||||||
|
|
||||||
|
arranged_number = []
|
||||||
|
for _ in range(0, len(split_number)):
|
||||||
|
arranged_number.append(split_number[0])
|
||||||
|
if len(split_number) in D:
|
||||||
|
arranged_number.append(D[len(split_number)])
|
||||||
|
split_number.pop(0)
|
||||||
|
if arranged_number[-1] == 0:
|
||||||
|
arranged_number.pop(-1)
|
||||||
|
|
||||||
|
return arranged_number
|
||||||
|
|
||||||
|
|
||||||
|
print(to_chinese_numeral(120))
|
||||||
14
tests/test_codewars/test_chinese_numeral_encoder.py
Normal file
14
tests/test_codewars/test_chinese_numeral_encoder.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
from src.codewars.kata_chinese_numeral_encoder import to_chinese_numeral
|
||||||
|
|
||||||
|
|
||||||
|
def test_to_chinese():
|
||||||
|
assert to_chinese_numeral(9) == "九"
|
||||||
|
assert to_chinese_numeral(-5) == "负五"
|
||||||
|
assert to_chinese_numeral(0.5) == "零点五"
|
||||||
|
assert to_chinese_numeral(10) == "十"
|
||||||
|
assert to_chinese_numeral(110) == "一百一十"
|
||||||
|
assert to_chinese_numeral(111) == "一百一十一"
|
||||||
|
assert to_chinese_numeral(1000) == "一千"
|
||||||
|
assert to_chinese_numeral(10000) == "一万"
|
||||||
|
assert to_chinese_numeral(10006) == "一万零六"
|
||||||
|
assert to_chinese_numeral(10306.005) == "一万零三百零六点零零五"
|
||||||
Loading…
x
Reference in New Issue
Block a user