2016年8月24日 星期三

python 程式設計50題測試範例-14

14、讀入任意長度字串(最多50字元),對此字串作下列處理動作:
  (1)列印出字串長度(使用者輸入的部分)。
  (2)以一個4*號字串取代每一個4字母單字,
     以一個3+號字串取代每一個3字母單字,
     以一個5?號字串取代每一個5字母單字,
     並列印新字串。

範例一
範例二
輸入
THESE ARE HIS BOOKS.
I AM JANET.
輸出
4* 3+ 3+ 5?.
I AM 5?.


程式: 
#coding:UTF-8

# 14、讀入任意長度字串(最多50字元),對此字串坐下列處理動作: 
#   (1)列印出字串長度(使用者輸入的部分)。 
#   (2)以一個4*號字串取代每一個4字母單字, 
#      以一個3+號字串取代每一個3字母單字, 
#      以一個5?號字串取代每一個5字母單字,並列印新字串。
#
# 範例一                範例二
# 輸入 THESE ARE HIS BOOKS.   I AM JANET.
# 輸出 4* 3+ 3+ 5?.         I AM 5?.

print("14、讀入任意長度字串(最多50字元),對此字串做下列處理動作:") 
print("    (1)列印出字串長度(使用者輸入的部分)。 ")
print("   (2)以一個4*號字串取代每一個4字母單字, ")
print("      以一個3+號字串取代每一個3字母單字, ")
print("      以一個5?號字串取代每一個5字母單字,並列印新字串。")


while True:
     sP = input('任意長度字串(最多50字元 : )')
     try:
        sP = repr(sP)   #repr() 函式可以轉換任何的值成為一個字串
       
     except ValueError:
       print ('這是不合法的輸入.  請再輸入一次...')
       continue
        
     if len(repr(sP)) >=1 :
       break

print("==========List1===字串轉換=========")
print(sP)


sP=(sP[1:len(sP)-1])   #[ : ] 截取字符串中的一部分
print("==========List2===去除 前後'符號==")
print(sP)
    

s=sP.split(' ')
print("==========List3===================")
print(s)


s=list(s)   #列表(List) 序列是Python中最基本的数据结构。
for i in range(len(s)):
    if len(s[i])==3 : 
       del s[i]
       s.insert(i,'3+')    #以一個3+號字串取代每一個3字母單字
            
    elif len(s[i])==4 :
         del s[i]
         s.insert(i,'4*')  #以一個4*號字串取代每一個4字母單字

    elif len(s[i])==5 :
          del s[i]
          s.insert(i,'5?')  #以一個5?號字串取代每一個5字母單字

          
print("==========新字串==================")
print(s)






結果:
================= RESTART: D:/程式語言 Python 入門/50題/Ex50-14.py =================
14、讀入任意長度字串(最多50字元),對此字串做下列處理動作:
    (1)列印出字串長度(使用者輸入的部分)。 
   (2)以一個4*號字串取代每一個4字母單字, 
      以一個3+號字串取代每一個3字母單字, 
      以一個5?號字串取代每一個5字母單字,並列印新字串。
任意長度字串(最多50字元 : )THESE ARE HIS BOOKS
==========List1===字串轉換=========
'THESE ARE HIS BOOKS'
==========List2===去除 前後'符號==
THESE ARE HIS BOOKS
==========List3===================
['THESE', 'ARE', 'HIS', 'BOOKS']
==========新字串==================
['5?', '3+', '3+', '5?']
>>> 
================= RESTART: D:/程式語言 Python 入門/50題/Ex50-14.py =================
14、讀入任意長度字串(最多50字元),對此字串做下列處理動作:
    (1)列印出字串長度(使用者輸入的部分)。 
   (2)以一個4*號字串取代每一個4字母單字, 
      以一個3+號字串取代每一個3字母單字, 
      以一個5?號字串取代每一個5字母單字,並列印新字串。
任意長度字串(最多50字元 : )I AM JANET
==========List1===字串轉換=========
'I AM JANET'
==========List2===去除 前後'符號==
I AM JANET
==========List3===================
['I', 'AM', 'JANET']
==========新字串==================
['I', 'AM', '5?']
>>> 

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...