![](/img/trans.png)
[英]sorting keys of a dictionary with lowercase letters, uppercase letters and numbers
[英]Counting Numbers, Uppercase Letters, Lowercase Letters and Spaces with own Function
我知道有很多类似的问题,但我似乎无法找到解决我错误的方法。 所以我必须定义一个 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)
您可以使用字符串模块
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)
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.