用自己的函数计算数字、大写字母、小写字母和空格
Counting Numbers, Uppercase Letters, Lowercase Letters and Spaces with own Function
我知道有很多类似的问题,但我似乎找不到解决我的错误的方法。
所以我必须定义一个函数“processSentence”来浏览句子并计算数字、大写、小写和空格。这是我到目前为止所得到的,我只是没有得到任何进一步的结果。
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
spaces = 0
numbers = 0
uppers = 0
lowers = 0
for character in sentence:
if character in [0,1,2,3,4,5,6,7,8,9]:
numbers += 1
for character in sentence:
if character in ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]:
lowers += 1
for character in sentence:
if character in ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]:
uppers += 1
for character in sentence:
if character in [" "]:
spaces += 1
report = f"The sentence had {numbers}, {uppers}, {lowers} and {spaces}"
print(report)
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
spaces = 0
numbers = 0
uppers = 0
lowers = 0
for character in sentence:
if character in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:
numbers = numbers + 1
for character in sentence:
if character in ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"]:
lowers = lowers + 1
for character in sentence:
if character in ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z"]:
uppers = uppers + 1
for character in sentence:
if character in [" "]:
spaces = spaces + 1
report = f"The sentence had numbers:{numbers}, Upper case:{uppers}, Lower Case:{lowers} and Spaces{spaces}"
print(report)
processSentence(sentence)
您已将数字数组设为字符串以及变量名和拼写错误
您不需要为每个计数器都使用一个循环,因此这可能会帮助您提高代码的可读性和易用性。
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
spaces = 0
numbers = 0
uppers = 0
lowers = 0
for character in sentence:
if character in '0123456789':
numbers += 1
elif character.islower():
lowers += 1
elif character.isupper():
uppers += 1
elif character == ' ':
spaces += 1
report = f"The sentence had numbers:{numbers}, Upper case:{uppers}, Lower Case:{lowers} and Spaces{spaces}"
print(report)
processSentence(sentence)
你可以使用字符串模块
import string
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
# just storing the character sets, avoiding doing it in each loop of the for-cycle
lowercase_characters = string.ascii_lowercase
uppercase_characters = string.ascii_uppercase
digit_characters = string.digits
spaces = 0
numbers = 0
lowers = 0
uppers = 0
# maybe use some variable to count residual characters?
residual = 0
for character in sentence:
if character in lowercase_characters:
lowers += 1
elif character in uppercase_characters:
uppers += 1
elif character in digit_characters:
numbers += 1
elif character == " ":
spaces += 1
else:
residual += 1
report = f"The sentence had numbers:{numbers}, Upper case:{uppers}, Lower Case:{lowers} and Spaces{spaces}"
print(report)
if __name__ == '__main__':
processSentence(sentence)
我知道有很多类似的问题,但我似乎找不到解决我的错误的方法。 所以我必须定义一个函数“processSentence”来浏览句子并计算数字、大写、小写和空格。这是我到目前为止所得到的,我只是没有得到任何进一步的结果。
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
spaces = 0
numbers = 0
uppers = 0
lowers = 0
for character in sentence:
if character in [0,1,2,3,4,5,6,7,8,9]:
numbers += 1
for character in sentence:
if character in ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]:
lowers += 1
for character in sentence:
if character in ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]:
uppers += 1
for character in sentence:
if character in [" "]:
spaces += 1
report = f"The sentence had {numbers}, {uppers}, {lowers} and {spaces}"
print(report)
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
spaces = 0
numbers = 0
uppers = 0
lowers = 0
for character in sentence:
if character in ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']:
numbers = numbers + 1
for character in sentence:
if character in ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t",
"u", "v", "w", "x", "y", "z"]:
lowers = lowers + 1
for character in sentence:
if character in ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z"]:
uppers = uppers + 1
for character in sentence:
if character in [" "]:
spaces = spaces + 1
report = f"The sentence had numbers:{numbers}, Upper case:{uppers}, Lower Case:{lowers} and Spaces{spaces}"
print(report)
processSentence(sentence)
您已将数字数组设为字符串以及变量名和拼写错误
您不需要为每个计数器都使用一个循环,因此这可能会帮助您提高代码的可读性和易用性。
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
spaces = 0
numbers = 0
uppers = 0
lowers = 0
for character in sentence:
if character in '0123456789':
numbers += 1
elif character.islower():
lowers += 1
elif character.isupper():
uppers += 1
elif character == ' ':
spaces += 1
report = f"The sentence had numbers:{numbers}, Upper case:{uppers}, Lower Case:{lowers} and Spaces{spaces}"
print(report)
processSentence(sentence)
你可以使用字符串模块
import string
sentence = "3 big frogs decorate the christmas tree with 22 bananas"
def processSentence(sentence):
# just storing the character sets, avoiding doing it in each loop of the for-cycle
lowercase_characters = string.ascii_lowercase
uppercase_characters = string.ascii_uppercase
digit_characters = string.digits
spaces = 0
numbers = 0
lowers = 0
uppers = 0
# maybe use some variable to count residual characters?
residual = 0
for character in sentence:
if character in lowercase_characters:
lowers += 1
elif character in uppercase_characters:
uppers += 1
elif character in digit_characters:
numbers += 1
elif character == " ":
spaces += 1
else:
residual += 1
report = f"The sentence had numbers:{numbers}, Upper case:{uppers}, Lower Case:{lowers} and Spaces{spaces}"
print(report)
if __name__ == '__main__':
processSentence(sentence)