亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12345下一頁
最近訪問板塊 發(fā)新帖
查看: 9457 | 回復(fù): 46
打印 上一主題 下一主題

[文本處理] 練習(xí)題(阿拉伯?dāng)?shù)字轉(zhuǎn)化為羅馬數(shù)字) [復(fù)制鏈接]

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2015-06-14 23:23 |只看該作者 |倒序瀏覽
好久沒發(fā)練習(xí)題了~
最近在學(xué)習(xí)Python時發(fā)現(xiàn)一道不錯的題目,所以想分享給大家開動開動腦筋,有興趣的童鞋不妨試著做一下~
不限制使用的腳本語言(awk/perl/python/php等都可以)~
題目:
羅馬數(shù)字來源于古羅馬編碼系統(tǒng)。它們是基于字母表的特定字母的組合,所表示的數(shù)等于這些數(shù)字相加(或者是相減)得到的數(shù)。前十位的羅馬數(shù)字是:
I,II,III,IV,V,VI,VII,VIII,IX和X。
羅馬記數(shù)系統(tǒng)不是直接的十進制為基礎(chǔ),它沒有零。羅馬數(shù)字是根據(jù)這七個符號的組合:
符號值
I 1 (unus)
V 5 (quinque)
X 10 (decem)
L 50 (quinquaginta)
C 100 (centum)
D 500 (quingenti)
M 1,000 (mille)
更多額外的關(guān)于羅馬數(shù)字的信息可以參考維基百科的文章.
在這個任務(wù)里,你應(yīng)該返回給出指定的整數(shù)值的范圍從1到3999的羅馬數(shù)字。
輸入: 一個整數(shù) (int).
輸出: 一個字符串形式的羅馬數(shù)字 (str).
前提: 0 < number < 4000
測試數(shù)據(jù):
6
76
499
3888
正確結(jié)果:
VI
LXXVI
CDXCIX
MMMDCCCLXXXVIII
游客,如果您要查看本帖隱藏內(nèi)容請回復(fù)

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
2 [報告]
發(fā)表于 2015-06-14 23:33 |只看該作者
維基百科貌似被墻了~
有關(guān)阿拉伯?dāng)?shù)字和羅馬數(shù)字的轉(zhuǎn)換規(guī)律請通過百度百科去查或者fan墻去看維基百科吧~

論壇徽章:
6
2015亞冠之廣州恒大
日期:2015-05-25 15:01:512015亞冠之大阪鋼巴
日期:2015-11-09 21:04:562015亞冠之山東魯能
日期:2015-11-11 14:30:3215-16賽季CBA聯(lián)賽之山西
日期:2016-03-11 11:11:5215-16賽季CBA聯(lián)賽之江蘇
日期:2016-04-06 10:48:4915-16賽季CBA聯(lián)賽之北控
日期:2016-11-09 10:23:22
3 [報告]
發(fā)表于 2015-06-15 09:46 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
54
2015亞冠之德黑蘭石油
日期:2015-07-07 13:00:1615-16賽季CBA聯(lián)賽之深圳
日期:2016-03-31 09:03:5415-16賽季CBA聯(lián)賽之遼寧
日期:2016-05-09 20:38:15程序設(shè)計版塊每日發(fā)帖之星
日期:2016-05-12 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-05-13 15:19:4715-16賽季CBA聯(lián)賽之福建
日期:2016-05-15 20:24:34每日論壇發(fā)貼之星
日期:2016-05-16 06:20:0015-16賽季CBA聯(lián)賽之吉林
日期:2016-05-26 11:49:4715-16賽季CBA聯(lián)賽之廣東
日期:2016-05-26 13:49:18極客徽章
日期:2016-12-07 14:05:2315-16賽季CBA聯(lián)賽之廣夏
日期:2016-12-20 17:33:532017金雞報曉
日期:2017-01-10 15:19:56
4 [報告]
發(fā)表于 2015-06-15 09:49 |只看該作者
  1. #!/usr/bin/env python

  2. num = raw_input("input a Number: ")
  3. roman = {1000:"M",500:"D",100:"C",50:"L",10:"X",9:"IX",8:"VIII",7:"VII",6:"VI",5:"V",4:"IV",3:"III",2:"II",1:"I"}

  4. try:
  5.     num = int(num)
  6. except:
  7.     print "Non Number"

  8. def mod_check(n, m):
  9.     if n%m != n:
  10.         return n%m
  11.     else:
  12.         return 0

  13. ro = [1000,500,100,50,10,5]
  14. ro_name = ""

  15. for i in ro:
  16.     a = mod_check(num, i)
  17.     if a == 0:
  18.         continue
  19.     else:
  20.         ro_name = ro_name + roman[i] * (num//i)
  21.         num = num%i

  22. print ro_name + roman[num]
復(fù)制代碼

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
5 [報告]
發(fā)表于 2015-06-15 09:56 |只看該作者
回復(fù) 4# haooooaaa

有問題哦,比如輸入9時……
   

論壇徽章:
54
2015亞冠之德黑蘭石油
日期:2015-07-07 13:00:1615-16賽季CBA聯(lián)賽之深圳
日期:2016-03-31 09:03:5415-16賽季CBA聯(lián)賽之遼寧
日期:2016-05-09 20:38:15程序設(shè)計版塊每日發(fā)帖之星
日期:2016-05-12 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-05-13 15:19:4715-16賽季CBA聯(lián)賽之福建
日期:2016-05-15 20:24:34每日論壇發(fā)貼之星
日期:2016-05-16 06:20:0015-16賽季CBA聯(lián)賽之吉林
日期:2016-05-26 11:49:4715-16賽季CBA聯(lián)賽之廣東
日期:2016-05-26 13:49:18極客徽章
日期:2016-12-07 14:05:2315-16賽季CBA聯(lián)賽之廣夏
日期:2016-12-20 17:33:532017金雞報曉
日期:2017-01-10 15:19:56
6 [報告]
發(fā)表于 2015-06-15 10:10 |只看該作者
回復(fù) 5# yestreenstars

10以下看來的分開。
  1. #!/usr/bin/env python

  2. num = raw_input("input a Number: ")
  3. roman = {1000:"M",500:"D",100:"C",50:"L",10:"X",9:"IX",8:"VIII",7:"VII",6:"VI",5:"V",4:"IV",3:"III",2:"II",1:"I"}

  4. try:
  5.     num = int(num)
  6. except:
  7.     print "Non Number"

  8. def mod_check(n, m):
  9.     if n%m != n:
  10.         return n%m
  11.     else:
  12.         return 0

  13. ro = [1000,500,100,50,10,5]
  14. ro_name = ""

  15. if num < 10:
  16.     print roman[num]
  17. else:   
  18.     for i in ro:
  19.         a = mod_check(num, i)
  20.         if a == 0:
  21.             continue
  22.         else:
  23.             ro_name = ro_name + roman[i] * (num//i)
  24.             num = num%i
  25.     print ro_name + roman[num]
復(fù)制代碼

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
7 [報告]
發(fā)表于 2015-06-15 10:13 |只看該作者
回復(fù) 6# haooooaaa

還是有問題,我上面給的測試數(shù)據(jù)你有測過嗎?比如,輸入499時結(jié)果就不對……
   

論壇徽章:
54
2015亞冠之德黑蘭石油
日期:2015-07-07 13:00:1615-16賽季CBA聯(lián)賽之深圳
日期:2016-03-31 09:03:5415-16賽季CBA聯(lián)賽之遼寧
日期:2016-05-09 20:38:15程序設(shè)計版塊每日發(fā)帖之星
日期:2016-05-12 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-05-13 15:19:4715-16賽季CBA聯(lián)賽之福建
日期:2016-05-15 20:24:34每日論壇發(fā)貼之星
日期:2016-05-16 06:20:0015-16賽季CBA聯(lián)賽之吉林
日期:2016-05-26 11:49:4715-16賽季CBA聯(lián)賽之廣東
日期:2016-05-26 13:49:18極客徽章
日期:2016-12-07 14:05:2315-16賽季CBA聯(lián)賽之廣夏
日期:2016-12-20 17:33:532017金雞報曉
日期:2017-01-10 15:19:56
8 [報告]
發(fā)表于 2015-06-15 10:26 |只看該作者
回復(fù) 7# yestreenstars


    不明白了, D 不是 500嗎 ?  有D應(yīng)該500多了, 我再看看。。。

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
9 [報告]
發(fā)表于 2015-06-15 10:29 |只看該作者
回復(fù) 8# haooooaaa

那說明你還沒明白羅馬數(shù)字的規(guī)律~
   

論壇徽章:
54
2015亞冠之德黑蘭石油
日期:2015-07-07 13:00:1615-16賽季CBA聯(lián)賽之深圳
日期:2016-03-31 09:03:5415-16賽季CBA聯(lián)賽之遼寧
日期:2016-05-09 20:38:15程序設(shè)計版塊每日發(fā)帖之星
日期:2016-05-12 06:20:0015-16賽季CBA聯(lián)賽之四川
日期:2016-05-13 15:19:4715-16賽季CBA聯(lián)賽之福建
日期:2016-05-15 20:24:34每日論壇發(fā)貼之星
日期:2016-05-16 06:20:0015-16賽季CBA聯(lián)賽之吉林
日期:2016-05-26 11:49:4715-16賽季CBA聯(lián)賽之廣東
日期:2016-05-26 13:49:18極客徽章
日期:2016-12-07 14:05:2315-16賽季CBA聯(lián)賽之廣夏
日期:2016-12-20 17:33:532017金雞報曉
日期:2017-01-10 15:19:56
10 [報告]
發(fā)表于 2015-06-15 10:29 |只看該作者
回復(fù) 7# yestreenstars


    還有這些規(guī)則, 還不知道啊。。。

計數(shù)規(guī)則:
1.若干相同數(shù)字連寫表示的數(shù)是這些羅馬數(shù)字的和,如III=3;

2.小數(shù)字在大數(shù)字前面表示的數(shù)是用大數(shù)字減去小數(shù)字,如IV=4;
3.小數(shù)字在大數(shù)字后面表示的數(shù)是用大數(shù)字加上小數(shù)字,如VI=6;

組合規(guī)則:

(1)基本數(shù)字Ⅰ、X 、C 中的任何一個,自身連用構(gòu)成數(shù)目,或者放在大數(shù)的右邊連用構(gòu)成數(shù)目,都不能超過三個;放在大數(shù)的左邊只能用一個。

(2)不能把基本數(shù)字 V 、L 、D 中的任何一個作為小數(shù)放在大數(shù)的左邊采用相減的方法構(gòu)成數(shù)目;放在大數(shù)的右邊采用相加的方式構(gòu)成數(shù)目,只能使用一個。
(3)V 和 X 左邊的小數(shù)字只能用Ⅰ。
(4)L 和 C 左邊的小數(shù)字只能用×。
(5)D 和 M 左 邊的小數(shù)字只能用 C
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP