python入门

python第19课练习—函数

2019-05-24  本文已影响0人  YoYoYoo

1、目测以下答案会打印什么内容?

def fun(var):
    var = 1314
    print(var,end = '')

var = 520
fun(var)
print(var)

答案:1314520

2、编写一个函数,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,既可顺读,也可倒读。例如:上海自来水来自上海)

答案:

方法1:

def palindrome(string):
    length = len(string)
    last = length - 1
    length //= 2
    flag = 1
    for each in range(length):
        if string[each] != string[last]:
            flag = 0
        last -= 1

    if flag == 1:
        return 1
    else:
        return 0

string = input('请输入一句话:')
if palindrome(string) == 1:
    print('是回文联!')
else:
    print('不是回文联!')

方法2:

def palindrome(string):
    list1 = list(string)
    list2 = reversed(list1)
    if list1 == list(list2):
        return '是回文联!'
    else:
        return '不是回文联!'

print(palindrome('上海自来水来自海上'))

明显方法2要简单许多!

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

def count(*param):
    length = len(param)
    for i in range(length):
        letters = 0
        space = 0
        digit = 0
        others = 0
        for each in param[i]:
            if each.isalpha():
                letters += 1
            elif each.isdigit():
                digit += 1
            elif each == ' ':
                space += 1
            else:
                others += 1
        print('第%d个字符串共有:英文字母%d个,数字%d个,空格%d个,其他字符%d个。' % (i+1,letters,digit,space,others))
count('i love fishc.com.','i love you x1, you love me!')
上一篇下一篇

猜你喜欢

热点阅读