我是 python 和一般编码的新手,我需要帮助解决这个问题。
编写一个将字符串作为输入并执行以下功能的程序:
▪ 打印字符串中的空格数(计数)
▪ 打印小写字母的数量(计数)
▪ 打印标点符号的数量
演示如何找到字符串中的最后一个空格
谢谢
我是 python 和一般编码的新手,我需要帮助解决这个问题。
编写一个将字符串作为输入并执行以下功能的程序:
▪ 打印字符串中的空格数(计数)
▪ 打印小写字母的数量(计数)
▪ 打印标点符号的数量
演示如何找到字符串中的最后一个空格
谢谢
我将向您展示一个示例,以提供一些想法供您尝试,并将其他示例留作练习:
打印小写字母的数量(计数)
>>> my_str = "Hello world!!"
>>> sum(1 for x in my_str if x.islower())
9
循环遍历字符串中的字符:
for char in my_string:
# test if char is a space and if it succeeds, increment something
# do the same for your other tests
pass
该string
模块有一些可能对您有用的常量;特别是:string.punctuation
、string.lowercase
和string.whitespace
。您可以使用运算符来in
查看字符是否在这些字符集中。
您可以使用filter
和len
一起计算事物。例如:
>>> import string
>>> s="This char -- or that one -- It's a Space."
>>> for k in [string.uppercase, string.lowercase, string.whitespace, string.punctuation]:
... len(filter(lambda x: x in k, s))
...
3
23
9
6
注意,string.uppercase, string.lowercase,
等值是在string
模块中定义的,可以在导入string
模块后使用。它们中的每一个都是一个字符串值;例如:
>>> string.whitespace
'\t\n\x0b\x0c\r '
>>> string.punctuation
'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
请注意,在上面, >>> 是 python 解释器的主要提示,而 ... 是缩进行的辅助提示。
a=input("type strint :")
space=" "
print(a.count(space))
lower=0
for w in a:
if w.islower()==True:
lower+=1
print(lower)
punc='!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
pmark=0
for p in a:
if p in punc:
pmark+=1
print(pmark)
# Demonstrate how you would find the last space in a string
if a[-1]== space:
print("last space yes")