zoukankan      html  css  js  c++  java
  • 巨蟒python全栈开发-第3天

    1

    今日作业

    1.有变量name = "aleX leNb" 完成如下操作:

    # 1)移除 name 变量对应的值两边的空格,并输出处理结果
    ''''''
    '''
    # name = "     aleX leNb"
    # print(name)
    # print(name.strip())
    '''
    # 2)移除name变量左边的"al"并输出处理结果
    '''
    # name = "aleX leNb"
    # print(name.replace("al",""))
    '''
    '''
    name = "aleX leNb"
    s1=name.strip("al")
    print(s1)
    '''
    '''
    name = "aleX leNb"
    s1=name.lstrip('al')
    print(s1)
    '''
    # 3)移除name变量右⾯的"Nb",并输出处理结果
    
    '''
    name = "aleX leNb"
    print(name.replace("Nb",""))
    '''
    '''
    name = "aleX leNb"
    s1=name.strip("Nb")
    print(s1)
    '''
    '''
    name = "aleX leNb"
    s1=name.rstrip('Nb')
    print(s1)
    '''
    # 4)移除name变量开头的a"与最后的"b",并输出处理结果
    #strip
    '''
    name = "aleX leNb"
    name=name.replace('a','')
    name=name.replace('b','')
    print(name)
    '''
    
    # 5)判断 name 变量是否以 "al" 开头,并输出结果
    
    '''
    name = "aleX leNb"
    s=name.startswith('al')
    print(s)          #True
    '''
    
    # 6)判断name变量是否以"Nb"结尾,并输出结果
    '''
    name = "aleX leNb"
    s=name.endswith('Nb')
    print(s)          #True
    '''
    
    # 7)将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
    '''
    name = "aleX leNb"
    s=name.replace("l",'p')
    print(s)
    '''
    
    # 8)将name变量对应的值中的第⼀个"l"替换成"p",并输出结果
    
    '''
    name = "aleX leNb"
    s=name.replace("l",'p',1)
    print(s)
    '''
    
    # 9)将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
    
    '''
    name = "aleX leNb"
    s=name.split('l')
    print(s)
    '''
    
    # 10)将name变量对应的值根据第⼀个"l"分割,并输出结果。
    
    '''
    name = "aleX leNb"
    s=name.split('l',1)
    print(s)
    '''
    
    # 11)将 name 变量对应的值变⼤写,并输出结果
    
    '''
    name = "aleX leNb"
    s=name.upper()
    print(s)
    '''
    
    # 12)将 name 变量对应的值变⼩写,并输出结果
    '''
    name = "aleX leNb"
    s=name.lower()
    print(s)
    '''
    
    # 13)将name变量对应的值⾸字⺟"a"⼤写,并输出结果
    '''
    name = "aleX leNb"
    s=name.title()
    print(s)
    '''
    
    # 14)判断name变量对应的值字⺟"l"出现⼏次,并输出结果
    
    '''
    name = "aleX leNb"
    s=name.count('l')
    print(s)
    '''
    
    # 15)如果判断name变量对应的值前四位"l"出现⼏次,并输出结果
    '''
    ???
    name = "aleX leNb"
    s=name.count('l',4)
    print(s)
    '''
    
    '''
    # name = "aleX leNb"
    # s=name.count('l',0,4)   #区间寻找,从字符串的0-4寻找
    # print(s)
    '''
    
    '''
    name = "aleX leNb"
    s=name[0:4].count('l')  #从第1个开始到第4个,切片处理
    print(s)
    '''
    '''
    name = "aleX leNb"
    s=name[0:4].count('l')  #从第1个开始到第4个,切片处理
    print(s)
    '''
    
    # 16)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
    '''
    name = "aleX leNb"
    s=name.index("N")
    print(s)
    '''
    
    
    # name = "aleX leNb"
    # s=name.index("N")
    # print(s)              #结果:7
    
    
    # 17)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
    
    '''
    name = "aleX leNb"
    s=name.find("N")
    print(s)                #结果:
    '''
    
    # 18)从name变量对应的值中找到"X le"对应的索引,并输出结果
    
    '''
    name = "aleX leNb"
    s=name.index('X le')
    print(s)
    '''
    
    # 19)请输出 name 变量对应的值的第 2 个字符?
    
    #这句话有歧义:可以是第二个字符,也可以是索引为2
    '''
    # name = "aleX leNb"
    # s=name[1]
    # print(s)            #l
    
    # name = "aleX leNb"
    # s=name[2]
    # print(s)    
    '''
    # 20)请输出 name 变量对应的值的前 3 个字符?
    
    # name = "aleX leNb"
    # s=name[0:3]
    # print(s)
    
    # 21)请输出 name 变量对应的值的后 2 个字符?
    
    # name = "aleX leNb"
    # s=name[-2:]
    # print(s)
    
    # 22)请输出 name 变量对应的值中 "e" 所在索引位置?
    #22)
    '''
    name = "aleX leNb"
    s=name.index('e')
    print(s)
    # s1=s+1+name[3:].index('e')
    s1=s+1+name[3:].index('e')
    print(s1)
    '''
    
    """
    老师讲解 while循环//for循环差不多是放弃索引
    ame = "aleX leNb"
    i=0
    while i<len(name):
        if name[i]=='e':
            print(i)
        i+=1
    
    """
    
    
    # name = "aleX leNb"
    # print(name.find('e'),name.find('e',3))
    2.有字符串s = "123a4b5c"
    # 1)通过对s切⽚形成新的字符串s1,s1 = "123"
    '''
    s = "123a4b5c"
    s1=s[0:3]  #或者#s1=s[:3]
    print(s1)
    '''
    # 2)通过对s切⽚形成新的字符串s2,s2 = "a4b"
    
    '''
    s = "123a4b5c"
    s2=s[3:6]
    print(s2)
    '''
    
    # 3)通过对s切⽚形成新的字符串s3,s3 = "1345"
    '''
    s = "123a4b5c"
    s3=s[::2]
    print(s3)
    '''
    
    # 4)通过对s切⽚形成字符串s4,s4 = "2ab"
    
    '''
    # s = "123a4b5c"
    # s3=s[1:-1:2]   #s3=s[1:6:2]
    # print(s3)
    '''
    
    # 5)通过对s切⽚形成字符串s5,s5 = "c"
    '''
    # s = "123a4b5c"
    # s5=s[-1]
    # print(s5)
    '''
    # 6)通过对s切⽚形成字符串s6,s6 = "ba2"
    
    '''
    s = "123a4b5c"
    s5=s[-3:0:-2]
    print(s5)
    '''
    '''
    s = "123a4b5c"
    s5=s[-3::-2]
    print(s5)
    '''

    3.使⽤while和for循环分别打印字符串s="asdfer"中每个元素。

    '''
    print(s[0])
    '''
    '''
    s="asdfer"
    for i in s:     #i是个变量,随便起都行
        print(i)
    '''
    
    '''
    s="asdfer"
    count=0
    while count<len(s):
        print(s[count])
        count+=1
    '''
    '''
    s='abcdef'
    i=0
    while i<len(s):
        print(s[i])
        i+=1
    '''
    
    '''
    
    '''
    '''
    s='abcdef'
    for i in s:
        print(i)
    '''

    4.使⽤for循环对s="asdfer"进⾏循环,但是每次打印的内容都是"asdfer"。

    '''
    s="asdfer"
    for i in s:
        print(s)
    '''

    5.使⽤for循环对s="abcdefg"进⾏循环,每次打印的内容是每个字符加上sb,# 例如:asb, bsb,csb,...gsb。

    '''
    方法一
    s="asdfer"
    for i in s:
        print(i+'sb')
    '''
    
    
    '''
    方法二
    s="asdfer"
    count=0
    while count<len(s):
        print(s[count]+'ab')
        count+=1
    '''
    6.使⽤for循环对s="321"进⾏循环,打印的内容依次是:"倒计时3秒","倒计时
    2秒","倒计时1秒","出发!"。
    '''
    s="321"
    for i in s:
        print("倒计时%s秒"%(i))
        print(f"倒计时{c}秒")   #格式化输出
    print('出发!')
    '''
    """ #for循环+else
    s="321"
    for i in s:
        print("倒计时%s秒"%(i))
        print(f"倒计时{c}秒")
    else:  #当for中的循环结束之后自动执行else,break不会触发else的执行
        print('出发!')
    """
    
    '''
    while 1:
        break   #直接出来,不会管else
    else:
        print('出发')
    
    '''
    '''
    while False:
        break   #直接出来,不会管else
    else:
        print('出发')   #结果  :出发
    '''
    7,实现⼀个整数加法计算器(两个数相加):
    如:content = input("请输⼊内容:") ⽤户输⼊:5+9或5+ 9或5 + 9,然后进
    ⾏分割再进⾏计算。
    '''
    content = input("请输⼊内容:")
    count=content.split('+')
    sum=0
    # print(count)
    for i in count:
        sum=sum+int(i)
    print(sum)
    '''
    
    '''
    #老师讲解
    '''
    '''
    content = input("请输⼊内容:") #⽤户输⼊:5+9
    #字符串切割
    lst=content.split('+')
    #获取到两个数
    a=lst[0]
    b=lst[1]
    print(int(a)+int(b))
    '''
    8,升级题:实现⼀个整数加法计算器(多个数相加):
    如:content = input("请输⼊内容:") ⽤户输⼊:5+9+6 +12+ 13,然后进⾏
    分割再进⾏计算。
    '''
    # content = input("请输⼊内容:")
    # count=content.split('+')
    # sum=0
    # # print(count)
    # for i in count:
    #     sum=sum+int(i)
    # print(sum)
    '''
    '''
    #老师讲解,这个题目在这里有点超前
    #自动去空格,int可以帮助把字符串里的空格去掉
    #int,用的是strip(),只能去除两边的空格,中间的空格去不掉
    #strip(),括号里边可以加上去掉的内容
    content = input("请输⼊内容:")
    lst=content.split('+')
    sum=0
    for el in lst:   #可以使用for循环遍历列表
        sum+=int(el)
    print(sum)
    
    '''
    '''
    content = input("请输⼊内容:").replace(" ","") #空格全部替换成空
    lst=content.split('+')
    sum=0
    for el in lst:   #可以使用for循环遍历列表
        sum+=int(el)
    print(sum)
    '''
    #这个题难点在于,当前还没有学到这块知识
    #没法解释负号问题
    """
    # re
    #eval解决方案
    
    """
    9,计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。
    如:content = input("请输⼊内容:") # 如fhdal234slfh98769fjdla
    '''
    content = input("请输⼊内容:")
    count=0
    for i in content:
        if i.isdigit():
            count+=1
    print(count)
    '''
    #c.isnumeric(),判断的范围更广
    
    # content = input("请输⼊内容:")
    # count=0
    # for i in content:
    #     if i.isdigit():
    #         count+=1
    # print(count)
    10、写代码,完成下列需求:
    ⽤户可持续输⼊(⽤while循环),⽤户使⽤的情况:
    输⼊A,则显示⾛⼤路回家,然后在让⽤户进⼀步选择:
    是选择公交⻋,还是步⾏?
    选择公交⻋,显示10分钟到家,并退出整个程序。
    选择步⾏,显示20分钟到家,并退出整个程序。
    输⼊B,则显示⾛⼩路回家,并退出整个程序。
    输⼊C,则显示绕道回家,然后在让⽤户进⼀步选择:
    是选择游戏厅玩会,还是⽹吧?
    选择游戏厅,则显示 ‘⼀个半⼩时到家,爸爸在家,拿棍等你。’并让其
    重新输⼊A,B,C选项。
    选择⽹吧,则显示‘两个⼩时到家,妈妈已做好了战⽃准备。’并让其重
    新输⼊A,B,C选项。
    #这个题目就是练代码
    '''##字体转换成百家姓之后,编码发生了改变,所以尽量自己敲这些字
    while 1:
        s=input("请输入ABCD进行选择回家方式:")
        if s=='A':
            k=input('选择公交⻋,还是步⾏')
            print(k)
            if k == '公交车':
                print('10分钟到家')
                break
            elif k=='步行':
                print('20分钟到家')
                break
        elif s=='B':
            print('走小路回家')
            break
        elif s=='C':
            print('绕道回家')
            k = input('选择游戏厅,还是⽹吧')
            if k=='游戏厅':
                print('⼀个半⼩时到家,爸爸在家,拿棍等你')
            else:
                print('两个⼩时到家,妈妈已做好了战⽃准备。')
    '''
    
    """#老师讲解
    """
    
    '''
    while 1:
        content=input('请输入ABC:').upper()
        if content=='A':
            print('走大路回家')
            tra=input('请选择公交车还是不行')
            if tra=="公交车":
                print("10分钟到家")
            else:
                print("20分钟到家")
            break
            # pass  #过   保证语法正确,先占着
        elif content=='B':
            print('走小路回家')
            break
        elif content=='C':
            print('绕道回家')
            play=input('去游戏厅还是网吧?')
            if play=='游戏厅':
                print("1个半小时回家,,爸爸在家,拿棍等你")
            else:
                print('两个⼩时到家,妈妈已做好了战⽃准备。')
            # pass
    #量大,但是逻辑性不强
    '''

    11.写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?

    # sum=0
    # for i in range(1,100):
    #     if i==88:
    #         i=89
    #         # continue
    #     if i%2==1:
    #         sum+=i
    #     elif i%2==0:
    #         sum-=i
    # print(sum)
    '''
    count = 1
    sum = 0
    while count < 100:
        if count == 88:
            count = count + 1
            continue
        if count %2 == 0:# 偶数
            sum = sum - count
        else:
            sum = sum + count
        count = count + 1
    print(sum)
    '''
    12. (升级题)判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海
    ⾃来⽔来⾃海上(升级题)
    # s=input("请输入一句话:")
    # s1=s[::-1]
    # if s==s1:
    #     print('回文')
    # else:
    #     print("不是回文")

    13. 输⼊⼀个字符串,要求判断在这个字符串中⼤写字⺟,⼩写字⺟,数字,其它字符共出现了多少次,并输出出来

    '''
    s=input("请输⼊⼀个字符串:")
    digit_l=0
    upper_l=0
    lower_l=0
    other_1=0
    for i in s:
        if i.isdigit():
            digit_l+=1
        elif i.islower():
            lower_l+=1
        elif i.isupper():
            upper_l+=1
        else:
            other_1+=1
    print(digit_l,lower_l,upper_l,other_1)
    '''
    14、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名
    字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx
    '''#三种格式化方式
    name=input("请输入名字:")
    place=input("请输入地点:")
    love=input("请输入爱好:")
    print("敬爱可亲的%s,最喜欢在%s地⽅⼲%s"%(name,place,love))
    print("敬爱可亲的{0},最喜欢在{1}地⽅⼲{2}".format(name,place,love))
    print(f"敬爱可亲的{name},最喜欢在{place}地⽅⼲{love}")
    '''
    

    15.(升级题) 给出百家姓. 然后⽤户输⼊⼀个⼈的名字. 判断这个⼈是否是百家

    姓中的姓⽒(升级题)
    百家姓:
    目前只能做一个low版本的,但是逻辑是有问题的
    first_names = """
    赵钱孙李,周吴郑王。
    冯陈褚卫,蒋沈韩杨。
    朱秦尤许,何吕施张。
    孔曹严华,⾦魏陶姜。
    戚谢邹喻,柏⽔窦章。
    云苏潘葛,奚范彭郎。
    鲁⻙昌⻢,苗凤花⽅。
    俞任袁柳,酆鲍史唐。
    费廉岑薛,雷贺倪汤。
    滕殷罗毕,郝邬安常。
    乐于时傅,⽪卞⻬康。
    伍余元⼘,顾孟平⻩。
    和穆萧尹,姚邵湛汪。
    祁⽑禹狄,⽶⻉明臧。
    计伏成戴,谈宋茅庞。
    熊纪舒屈,项祝董梁。
    杜阮蓝闵,席季麻强。
    贾路娄危,江童颜郭。
    梅盛林刁,钟徐邱骆。
    ⾼夏蔡⽥,樊胡凌霍。
    虞万⽀柯,昝管卢莫。
    经房裘缪,⼲解应宗。
    丁宣贲邓,郁单杭洪。
    包诸左⽯,崔吉钮龚。
    程嵇邢滑,裴陆荣翁。
    荀⽺於惠,甄曲家封。
    芮羿储靳,汲邴糜松。
    井段富巫,乌焦巴⼸。
    牧隗⼭⾕,⻋侯宓蓬。
    全郗班仰,秋仲伊宫。
    宁仇栾暴,⽢钭厉戎。
    祖武符刘,景詹束⻰。
    叶幸司韶,郜黎蓟薄。
    印宿⽩怀,蒲邰从鄂。
    索咸籍赖,卓蔺屠蒙。
    池乔阴鬱,胥能苍双。
    闻莘党翟,谭贡劳逄。
    姬申扶堵,冉宰郦雍。
    卻璩桑桂,濮⽜寿通。
    边扈燕冀,郏浦尚农。
    温别庄晏,柴瞿阎充。
    慕连茹习,宦艾⻥容。
    向古易慎,⼽廖庾终。
    暨居衡步,都耿满弘。
    匡国⽂寇,⼴禄阙东。
    欧⽎沃利,蔚越夔隆。
    师巩厍聂,晁勾敖融。
    冷訾⾟阚,那简饶空。
    曾毋沙乜,养鞠须丰。
    巢关蒯相,查后荆红。
    游竺权逯,盖益桓公。
    万俟司⻢,上官欧阳。
    夏侯诸葛,闻⼈东⽅。
    赫连皇甫,尉迟公⽺。
    澹台公冶,宗政濮阳。
    淳于单于,太叔申屠。
    公孙仲孙,轩辕令狐。
    钟离宇⽂,⻓孙慕容。
    鲜于闾丘,司徒司空。
    丌官司寇,仉督⼦⻋。
    颛孙端⽊,巫⻢公⻄。
    漆雕乐正,壤驷公良。
    拓跋夹⾕,宰⽗⾕梁。
    晋楚闫法,汝鄢涂钦。
    段⼲百⾥,东郭南⻔。
    呼延归海,⽺⾆微⽣。
    岳帅缑亢,况郈有琴。
    梁丘左丘,东⻔⻄⻔。
    商牟佘佴,伯赏南宫。
    墨哈谯笪,年爱阳佟。
    第五⾔福,百家姓终。
     """
    View Code
    # name=input("请输入一个名字:").strip()
    # name1=name[0]#这里只能查找单姓
    # if name1 in first_names:
    #     print("good,在百家姓内")
    # else:
    #     print("这个名字姓氏不在百家姓中!")
    
    '''
    # 这个题目是有问题的
    #欧阳娜娜
    #顺序:
    {欧,欧阳,欧阳娜,欧阳娜娜}
    '''
    
    '''
    #扩展
    lst=["上官",'欧阳','赵','钱','孙']
    name=input('请输入你的名字') #欧阳南妮
    for el in lst:   #el是姓
        if name.startswith(el):
            print('在百家姓里面的')
            break
    else:
        print("对不起,姓氏不在百家姓里")
    
    '''

    练手题:

    分别⽤while,for循环输出字符串s = input("你想输⼊的内容")的每⼀个字符

     
  • 相关阅读:
    c++ exports def文件
    对比WDCP面板与AMH面板的区别与选择
    阿里云服务器配置 SVN 服务器与生产站点同步
    linux-Centos7安装python3并与python2共存
    oracle数据库定时任务dbms_job的用法详解
    AnyRobot
    spring mvc activemq
    kafka 查看队列信息
    json多态序列化
    CentOS7.x使用overlay文件系统
  • 原文地址:https://www.cnblogs.com/studybrother/p/10040781.html
Copyright © 2011-2022 走看看