Python-Übungsbeispiel 17
Problem:Geben Sie eine Zeile mit Zeichen ein und zählen Sie jeweils die Anzahl der englischen Buchstaben, Leerzeichen, Ziffern und anderen Zeichen.
Programmanalyse:Verwenden Sie eine while- oder for-Anweisung mit der Bedingung, dass das eingegebene Zeichen nicht '\n' ist.
Beispiel (Python 2.x) - Verwendung einer while-Schleife
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import string
s = raw_input('Bitte geben Sie eine Zeichenkette ein:\n')
letters = 0
space = 0
digit = 0
others = 0
i=0
while i < len(s):
c = s[i]
i += 1
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print 'char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others)
Beispiel (Python 3.x) - Verwendung einer for-Schleife
#!/usr/bin/python3
import string
s = input('Bitte geben Sie eine Zeichenkette ein:\n')
letters = 0
space = 0
digit = 0
others = 0
for c in s:
if c.isalpha():
letters += 1
elif c.isspace():
space += 1
elif c.isdigit():
digit += 1
else:
others += 1
print ('Zeichen = %d,Leerzeichen = %d,Ziffer = %d,Andere = %d' % (letters,space,digit,others))
Das Ausgabeergebnis des obigen Beispiels ist:
请输入一个字符串: 123examplec kdf235*(dfl char = 13,space = 2,digit = 6,others = 2Weitere Erweiterungen
Python 100 Beispiele