2017-03-03 4 views
0

Schreiben Sie ein Programm, das einen Satz als Konsoleneingabe akzeptiert, und berechnen Sie die Anzahl von Großbuchstaben, Kleinbuchstaben und anderen Zeichen.Berechnen von Großbuchstaben, Kleinbuchstaben und anderen Zeichen

Angenommen, die folgende Eingabe in das Programm geliefert: Hallo Welt; #

+0

In welcher Programmiersprache? Ah, "jes" (das Tag) oder auch Python, denke ich. – Kingsley

+0

Ja, mit jes. Danke. – Lauren

Antwort

1

Da diese Frage wie eine Programmieraufgabe klingt, habe ich geschrieben das ist eine mehr-wortreich Weise!. Dies ist Standard Python 3, nicht 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))) 

Beachten Sie, dass Sie den Code ändern, sollten sich end-of-line Zeichen zu behandeln. Momentan werden sie als "andere" gezählt. Ich habe auch die Handhabung der Binäreingabe, wahrscheinlich die Str() fehlgeschlagen.

Verwandte Themen