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!')