2017-03-03 225 views
0

編寫接受句子作爲控制檯輸入的程序並計算大寫字母,小寫字母和其他字符的數量。計算大寫字母,小寫字母和其他字符

假設有下面輸入提供給程序: 的Hello World;#

+0

用什麼編程語言?嗯,我猜是「jes」(標籤)或Python。 – Kingsley

+0

是的,使用jes。謝謝。 – Lauren

回答

1

由於這個問題聽起來像一個編程任務,我寫了這是一個更羅嗦的方式!這是標準的Python 3,而不是Jes。

#! /usr/bin/env python3 

import sys 

upper_case_chars = 0 
lower_case_chars = 0 
total_chars = 0 
found_eof = False 

# Read character after character from stdin, processing it in turn 
# Stop if an error is encountered, or End-Of-File happens. 
while (not found_eof): 
    try: 
     letter = str(sys.stdin.read(1)) 
    except: 
     # handle any I/O error somewhat cleanly 
     break 

    if (letter != ''): 
     total_chars += 1 
     if (letter >= 'A' and letter <= 'Z'): 
      upper_case_chars += 1 
     elif (letter >= 'a' and letter <= 'z'): 
      lower_case_chars += 1 
    else: 
     found_eof = True 

# write the results to the console 
print("Upper-case Letters: %3u" % (upper_case_chars)) 
print("Lower-case Letters: %3u" % (lower_case_chars)) 
print("Other Letters:  %3u" % (total_chars - (upper_case_chars + lower_case_chars))) 

請注意,您應該修改代碼以自行處理換行符。目前他們被算作「其他」。我也遺漏了處理二進制輸入,可能 str()將失敗。

相關問題