-5

我是 python 和一般编码的新手,我需要帮助解决这个问题。

编写一个将字符串作为输入并执行以下功能的程序:

▪ 打印字符串中的空格数(计数)

▪ 打印小写字母的数量(计数)

▪ 打印标点符号的数量

演示如何找到字符串中的最后一个空格

谢谢

4

4 回答 4

2

我将向您展示一个示例,以提供一些想法供您尝试,并将其他示例留作练习:

打印小写字母的数量(计数)

>>> my_str = "Hello world!!"
>>> sum(1 for x in my_str if x.islower())
9
于 2012-10-26T05:38:31.037 回答
1

循环遍历字符串中的字符:

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.punctuationstring.lowercasestring.whitespace。您可以使用运算符in查看字符是否在这些字符集中。

于 2012-10-26T05:30:50.170 回答
0

您可以使用filterlen一起计算事物。例如:

>>> 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 解释器的主要提示,而 ... 是缩进行的辅助提示。

于 2012-10-26T05:44:04.073 回答
0
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")
于 2012-10-26T07:32:05.207 回答