统计字符串各字符的个数、将该文件的前N行内容打印到屏幕上、摄氏度转华氏度

# 编写一个函数,分别统计出传入字符串参数(可能不止一个参数)的英文字母、数字、空格和其他字符的个数

def str_count(*args):
length = len(args)
for i in range(length):
digit = 0
letters = 0
space = 0
others = 0
for each in args[i]:
if each.isalpha():
letters += 1
elif each.isdigit():
digit += 1
elif each.isspace():
space += 1
else:
others += 1
print('第%d个字符串共有%d个字母,共有%d个数字,共有%d个空格,共有%d个其他字符' % (i + 1, letters, digit, space, others))

str_count('I love my baby 126.com!', 'today very happy 0330@')

 

# 编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上

def file_view(file_name, line_num):
print('\n文件%s的前%s行的内容如下:\n' % (file_name, line_num))
f = open(file_name, encoding='utf8')
for i in range(int(line_num)):
print(f.readline())
f.close()


filename = input('请输入要打开的文件名路径:').strip()
line = input('请输入需要显示该文件前几行:').strip()
file_view(filename, line)

# 摄氏度转换为华氏度

class C2F(float):
"""摄氏度转换为华氏度"""
def __new__(cls, arg=0.0):
return float.__new__(cls, arg * 1.8 + 32)


print(C2F(32.0)) # 打印出89.6

# 定义一个类继承于int类型,并实现一个特殊功能:当传入的参数是字符串的时候,返回该字符串中所有字符的ASCII码的和(使用ord获得一个字符的ASCII码值)

class Nint(int):
def __new__(cls, arg=0):
if isinstance(arg, str):
total = 0
for each in arg:
total += ord(each)
arg = total
return int.__new__(cls, arg)


print(Nint(123))
print(Nint(1.5))
print(Nint('A'))
print(Nint('hello'))
posted @ 2021-03-30 10:18  laosun0204  阅读(144)  评论(0编辑  收藏  举报