MENU

python解题6.13

• 2019 年 06 月 13 日 • 阅读: 717 • Python

1.编写程序,统计输入的字符串中的单词的个数,单词之间用空格分隔。例如,输入字符串“Python is very interesting”,其中的单词总数有4个

n = "Python is very interesting"
s = n.split()   //split()字符分割
print("单词个数:",len(s),s)
//运行结果
单词个数: 4 ['Python', 'is', 'very', 'interesting']

2.编写程序,输入字符串,为其每个字符的ASCII码形成列表并输出。例如,输入字符串“Python”,输出列表[80,121,116,104,111,110]。

text = input("输入一串字符串:")
txt = []
for t in text:
    txt.append(ord(t))
print(txt)
//运行结果
输入一串字符串:Python
[80, 121, 116, 104, 111, 110]

3.编写程序,将一个人名字从“名 中间名.姓”的格式顺序转变为“姓,名 中间名”的格式,例如James F.Cooper',转换后的结果为"Cooper,JamnesF'。

def reverse_name( name ) -> str:
    split_name = name.split('.')
    return f'{split_name[1]},{split_name[0]}'
if __name__ == "__main__":
    print( reverse_name('James F.Cooper') )
//运行结果
Cooper,James F

4.编写程序,判断一个字符串是不是回文字符串,所谓回文字符串是指正序和逆序相同的字符串,例如,字符串“hiih”即为回文字符串。

def judge_palindrome( t_str ) -> bool:
    copy_str = ''.join( reversed( t_str ) )
    return True if copy_str == t_str else False

if __name__ == "__main__":
     print( judge_palindrome( 'hiih' ) )
//运行结果
True

5.编写程序,输入一串英文字符串(带空格和标点符号),将其中的空格和标点符号去除,再判断该字符串是不是回文串。

import re

def judge_palindrome(new_str):
    pass

def upgrade_palindrome( t_str ) -> bool:
    new_str = re.sub( r'\W', '', t_str )
    return judge_palindrome( new_str )

if __name__ == "__main__":
    print( upgrade_palindrome( 'f agsfg ,dsf.21' ) )
//运行结果
None

6.编写程序,输入一个字符串,统计其中大写字母、小写字母、数字及其它字符的个数。

import re
def count_something( t_str, rule ) -> int:
    return len( list( filter( lambda x : rule(x), t_str ) ) )

if __name__ == "__main__":
    print( count_something( 'fgh123FSR434F65 ,.,', lambda x : re.match( r'[0-9]', x ) ) )
//运行结果
8

7.编写程序,输入一个字符串,将字符串中下标为偶数位置上的字母转换为大写字母。

def change_upper( t_str ) -> str:
    copy_str = list( t_str )
    for i in range( 0, len(t_str), 2 ):
        copy_str[i] = copy_str[i].upper()
    return ''.join(copy_str)

if __name__ == "__main__":
     print( change_upper( 'abcdef' ) )
//运行结果
AbCdEf

8.编写程序,输入一段文本,统计其中有多少个不同的单词?并按照单词出现的频率降序输出。

import re
def count_words( text ) -> tuple:
    c_text = list( filter( lambda x : x != '', re.split( r'[,.\s]', text ) ) )
    e_text = list( set(c_text) )
    count = []
    for item in e_text:
        count.append( c_text.count(item) )
    e_text_count = list( zip( e_text, count ) )
    e_text_count.sort( reverse=True, key=lambda s : s[1] )
    return len(e_text), tuple( [x[0] for x in e_text_count] )

if __name__ == "__main__":
    print( count_words( 'i am a boy, i am eight years old. i like playing football.' ) )
//运行结果
(10, ('i', 'am', 'years', 'eight', 'playing', 'a', 'football', 'like', 'boy', 'old'))
返回文章列表 文章二维码
本页链接的二维码
打赏二维码