美文网首页学Python
学Python的011天

学Python的011天

作者: XIAO油菜花 | 来源:发表于2019-10-16 19:48 被阅读0次

原创:XIAO油菜花
学习进度记录:
《零基础入门学习Python》P20:我的地盘听我的
《Python开发入门与爬虫项目实战》:Python中的函数:递归查找

课后思考

  • 0.下边程序会输出什么?
def next():
    print('我在next()函数里...')
    pre()

def pre():
    print('我在pre()函数里...')
    
next()
  • 1.请问以下这个函数有返回值吗?
>>> def hello():
        print('Hello World!')
  • 2.请问Python的return语句可以返回多个不同类型的值吗?
  • 3.目测以下程序会打印什么内容:
def fun(var):
    var = 1314
    print(var, end='')

var = 520
fun(var)
print(var)
  • 4.目测以下程序会打印什么内容?
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 = ' XIAO油菜花'

print(fun1())

答案:

  • 0.会输出:
    我在next()函数里...
    我在pre()函数里...
  • 1.有返回值‘None’
  • 2.可以,默认用逗号隔开,是以元祖的形式返回,你当然也可以用列表包含起来返回
  • 3.会打印:
    1314520
    1. Baby I love you

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

def palindrome(string):
    #计算字符串的长度
    length = len(string)
    #last代表字符串的最后一个字符的索引
    last = length-1
    #对字符串长度进行2的地板除法
    length //= 2
    #设置默认flag为1
    flag = 1
    #循环字符串中的每一个字符
    for each in range(length):
        #如果第1个字符不等于最后一个的字符
        if string[each] != string[last]:
            flag = 0
        #做一次循环,最后一个字符的index向前移一位,而循环是递增的。
        #所以上一个判断语句判断的回文结构
        last -= 1
    #将最后的flag值返回
    return flag

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

方法二:
def palindrome(string):
    list1 = list(string)
    #将list1倒置
    list2 = reversed(list1)
    if list1 == list(list2):
        return '是回文联!'
    else:
        return '不是回文联!'

string = input('请输入一句话:')
print(palindrome(string))

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

#注意收集参数的运用
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
        #注意字符串格式化的使用:%d格式化整数
        #用\将长句连起来
        print('第 %d 个字符串共有:英文字母 %d 个,数字 %d 个,空格 %d 个,\
其他字符 %d 个。' % (i+1, letters, digit, space, others))
运行效果

如果你关注了我,希望你监督我,鼓励我,与我一起学习,一起成长!❤

相关文章

网友评论

    本文标题:学Python的011天

    本文链接:https://www.haomeiwen.com/subject/mlaumctx.html