Python中的局部变量和全局变量

2016.11.15

 0.下边程序会输入什么?

def next():
    print('我在next()函数里...')
    pre()

def pre():
    print('我在pre()函数这里...')

next()

答案:

我在next()函数里...

我在pre()函数这里...
1.目测一下程序会打印那些内容?

var = 'Hi'

def fun1():
    global var
    var = 'Baby'
    return fun2(var)

def fun2(var):
    var+='I love you'
    fun3(var)
    return var

def fun3(var):
    var = '小甲鱼'

print(fun1())

 答案:BabyI love you

2.编写一个1函数,判断传入的字符串是否为'回文联'(回文联即用回文形式写成的对联,比如:上海自来水来自上海)

法一:

def palindrome(string):
    list1 = list(string)
    list2 = reversed(list1)
    if list1 == list(list2):
        return '是回文联!'
    else:
        return '不是回文联!'
print(palindrome('上海自来水来自海上'))

 法二:

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('不是回文联!')

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

程序执行结果如图:

count('I love fishc.com.','I love you,you love me.')

 

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():
                dight += 1
            elif each == ' ':
                space += 1
            else:
                others += 1
        print('第%d个字符串共有:英文字母%d个,数字%d个,空格%d个,其她字符%d个.'%(i+1,letters,space,digit,others))
count('I love tuocheng','I love you,you love me.')

 答案为:

第1个字符串共有:英文字母13个,数字2个,空格0个,其她字符0个.

第2个字符串共有:英文字母17个,数字4个,空格0个,其她字符2个.

猜你喜欢

转载自3056434592.iteye.com/blog/2338184