python初學者筆記(2):阿拉伯數字轉換成中文大寫

来源:http://www.cnblogs.com/DuShuSir/archive/2016/11/17/6074856.html
-Advertisement-
Play Games

題:輸入一個數字,轉換成中文大寫的寫法 可運行的程式(Python 2.7.9): 註:剛剛學習的初級程式寫法,有很多不全的地方,比如:1.輸入“082”開頭是0的數字一樣會輸出“零佰扒拾貳”,應該需要更多的判斷語句;2.輸入“034354”會直接報錯,應該沒有加異常處理造成的結果。 後續會繼續學習 ...


題:輸入一個數字,轉換成中文大寫的寫法

可運行的程式(Python 2.7.9):

 1 # -*- coding: utf-8 -*- #在python2的py文件裡面寫中文,必須要添加一行聲明文件編碼的註釋,否則python2會預設使用ASCII編碼
 2 dic_num={"0":u"","1":u"","2":u"","3":u"","4":u"","5":u"","6":u"","7":u"","8":u"","9":u""}
 3 dic_unit={0:u"",1:u"",2:u"",3:u"",4:u""}
 4 
 5 flag = True
 6 
 7 while flag:#保證程式能反覆運行
 8     shu = []
 9     big = ''
10     num = raw_input("請輸入數字(範圍在1~99999之間),若輸入q則退出程式:".decode('utf-8').encode('gbk'))
11     if num == 'q' or num == 'Q':
12         flag = False
13     elif int(num) < 1 or int(num) > 99999:
14         print "錯誤!請輸入1~99999之間的數字!\n".decode('utf-8').encode('gbk')
15         continue
16     else:
17         listnum = list(num)
18         lennum = len(listnum)-1
19         for item in listnum:
20             shu.append(dic_num[item])#先取輸入數字中的第一個數對應的中文大寫加到shu列表裡,後續迴圈
21             shu.append(dic_unit[lennum])#例:4位數就取dic_unit中3對應的“仟”加到shu的第一個數字後面,後續迴圈
22             lennum -=1
23         big = ''.join(shu)
24     print big.encode('gbk')
25     print "\n"

註:剛剛學習的初級程式寫法,有很多不全的地方,比如:1.輸入“082”開頭是0的數字一樣會輸出“零佰扒拾貳”,應該需要更多的判斷語句;2.輸入“034354”會直接報錯,應該沒有加異常處理造成的結果。

    後續會繼續學習,歡迎大神補充更完善的寫法。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • byte tt=(byte)130 等於 -126 。 byte 占一個位元組,8bit 。第一位是符號位,0 表示正數,1 表示負數。因此byte 的取值範圍 [-128, 127] 。 130的二進位是00000000000000000000000010000010,截取成byte類型只保留後8位 ...
  • Django開髮網站需要遵循Django的一套開發流程。本節通過建立一個消息錄入頁面演示Django的開發流程及相關技術。 ...
  • 1 問題描述 利用Java EE相關技術實現一個簡單的Web聊天室系統,具體要求如下。 (1)編寫一個登錄頁面,登錄信息中有用戶名和密碼,分別用兩個按鈕來提交和重置登錄信息。 (2)編寫一個Servlet程式Main.java通過請求指派來處理用戶提交的登錄信息,如果用戶名為本小組成員的名字且密碼為 ...
  • python flask+gunicorn+nginx部署應用 ...
  • 1.添加Python群組 運行EditPlus,選擇工具→配置用戶工具進入參數設置框。 單擊添加工具→應用程式。菜單文字輸入python,命令為Python的安裝路徑,參數輸入 $(FileName),初始目錄輸入 $(FileDir),動作選擇 捕捉輸出。然後點擊確定。 2.設置Python高亮和 ...
  • 1. 在https://www.python.org/downloads/release/python-352/網站上下載python版本 2. 配置環境 右擊電腦屬性,然後選擇高級系統設置 3. 選擇環境變數,配置Path 輸入;C:\Users\小紅\AppData\Roaming\Micro ...
  • 兩者區別與作用: 普通任務:總調度(SchedulerFactoryBean)--> 定時調度器(CronTriggerFactoryBean) --> 調度明細自定義執行方法bean(MethodInvokingJobDetailFactoryBean) -->調度bean(我們定義的job類) ...
  • note eight 使用元類 動態語言和靜態語言最大的不同,就是函數和類的定義,不是編譯時定義的,而是運行時動態創建的。 程式的調試用logging 模塊 import logging 單元測試 為了編寫單元測試,我們需要引入pytho... ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...