zoukankan      html  css  js  c++  java
  • day03--课后练习

    #!/usr/bin/env python
    # _*_coding:utf-8_*_
    # @Author : Wenjie

    1.有变量name = "aleX leNb" 完成如下操作:
    name = "aleX leNb"
    1)移除 name 变量对应的值两边的空格,并输出处理结果
    print(name.strip()) # 结果:aleX leNb

    2)移除name变量左边的"al"并输出处理结果
    print(name.lstrip("al")) # 结果:eX leNb

    3)移除name变量右⾯的"Nb",并输出处理结果
    print(name.rstrip("Nb")) # 结果:aleX le

    4)移除name变量开头的a"与最后的"b",并输出处理结果
    one、
    result = name.lstrip('a')
    print(result.rstrip('b'))
    two、
    start = name.find('a') + 1 # 结果:leX leN
    end = name.find('b')
    print(name[start:end])

    5)判断 name 变量是否以 "al" 开头,并输出结果
    print(name.startswith('al')) # 结果:True

    6)判断name变量是否以"Nb"结尾,并输出结果
    print(name.endswith('Nb')) # 结果:True

    7)将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
    print(name.replace('l','p')) # 结果:apeX peNb

    8)将name变量对应的值中的第⼀个"l"替换成"p",并输出结果
    print(name.replace('l','p',1)) # 结果:apeX leNb

    9)将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
    print(name.split('l')) # 结果:['a', 'eX ', 'eNb']

    10)将name变量对应的值根据第⼀个"l"分割,并输出结果。
    print(name.split('l',1)) # 结果:['a', 'eX leNb']


    11)将 name 变量对应的值变⼤写,并输出结果
    print(name.upper()) # 结果:ALEX LENB

    12)将 name 变量对应的值变⼩写,并输出结果
    print(name.lower()) # 结果:alex lenb

    13)将name变量对应的值⾸字⺟"a"⼤写,并输出结果
    print(name[0].upper()+name[1:]) # 结果:Alex lenb

    14)判断name变量对应的值字⺟"l"出现⼏次,并输出结果
    print(name.count('l')) # 结果:l

    15)如果判断name变量对应的值前四位"l"出现⼏次,并输出结果
    print(name.count('l',0,4)) # 结果:1

    16)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
    print(name.index('N')) # 7

    17)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
    print(name.find("N"))

    18)从name变量对应的值中找到"X le"对应的索引,并输出结果
    print(name.find("X le")) # 3

    19)请输出 name 变量对应的值的第 2 个字符?
    print(name[1]) # l

    20)请输出 name 变量对应的值的前 3 个字符?
    print(name[:3]) # ale

    21)请输出 name 变量对应的值的后 2 个字符?
    print(name[-2:]) # Nb

    22)请输出 name 变量对应的值中 "e" 所在索引位置?
    for index,char in enumerate(name): # 2 e 6 e
    if char == 'e':
    print(index,char)


    2.有字符串s = "123a4b5c"
    s = "123a4b5c"
    1)通过对s切⽚形成新的字符串s1,s1 = "123"
    print(s[0:3])
    2)通过对s切⽚形成新的字符串s2,s2 = "a4b"
    print(s[3:6])
    3)通过对s切⽚形成新的字符串s3,s3 = "1345"
    print(s[::2])
    4)通过对s切⽚形成字符串s4,s4 = "2ab"
    print(s[1:6:2])
    5)通过对s切⽚形成字符串s5,s5 = "c"
    print(s[-1])
    6)通过对s切⽚形成字符串s6,s6 = "ba2"
    print(s[-3::-2])

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

    i = 0
    while i < len(s):
    print(s[i])
    i += 1

    # for

    for i in s:
    print(i)


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


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

    6.使⽤for循环对s="321"进⾏循环,打印的内容依次是:"倒计时3秒","倒计时
    2秒","倒计时1秒","出发!"。

    s="321"
    for i in s:
    print("倒计时%s秒"%i)
    else:
    print("出发")

    7,实现⼀个整数加法计算器(两个数相加):
    如:content = input("请输⼊内容:") ⽤户输⼊:5+9或5+ 9或5 + 9,然后进
    ⾏分割再进⾏计算。

    content = input("请输入内容").strip()
    num_list = content.split("+")
    sum = 0
    for i in num_list:
    i = int(i.strip())
    sum += i
    print(sum)

    8,升级题:实现⼀个整数加法计算器(多个数相加):
    如:content = input("请输⼊内容:") ⽤户输⼊:5+9+6 +12+ 13,然后进⾏
    分割再进⾏计算。

    content = input("请输入内容>:").strip()
    num_list = content.split("+")
    sum = 0
    for i in num_list:
    i = int(i.strip())
    sum += i
    print(sum)

    print(int(" 9 ")) # int 会自动忽略空格

    9,计算⽤户输⼊的内容中有⼏个整数(以个位数为单位)。
    如:content = input("请输⼊内容:") # 如fhdal234slfh98769fjdla

    content = input("请输入内容:")
    i = 0
    for char in content:
    if char.isdigit():
    i += 1
    print(i)


    10、写代码,完成下列需求:
    ⽤户可持续输⼊(⽤while循环),⽤户使⽤的情况:
    输⼊A,则显示⾛⼤路回家,然后在让⽤户进⼀步选择:
    是选择公交⻋,还是步⾏?
    选择公交⻋,显示10分钟到家,并退出整个程序。
    选择步⾏,显示20分钟到家,并退出整个程序。
    输⼊B,则显示⾛⼩路回家,并退出整个程序。
    输⼊C,则显示绕道回家,然后在让⽤户进⼀步选择:
    是选择游戏厅玩会,还是⽹吧?
    选择游戏厅,则显示 ‘⼀个半⼩时到家,爸爸在家,拿棍等你。’并让其
    重新输⼊A,B,C选项。
    选择⽹吧,则显示‘两个⼩时到家,妈妈已做好了战⽃准备。’并让其重
    新输⼊A,B,C选项。

    while True:
    choice = input("请输入A、B、C >>:").strip()
    choice = choice.upper()
    if choice == "A":
    print("走大路回家")
    result = input("(1:公交车 2:步行)>>:").strip()
    if result == "1":
    print("10分钟到家")
    break
    elif result == "2":
    print("20分钟到家")
    break
    else:
    print("请输入 1 or 2")
    elif choice == "B":
    print("走小路回家")
    break
    elif choice == "C":
    print("绕道回家")
    result = input("1、游戏厅 2、网吧 >>:").strip()
    if result == "1":
    print("⼀个半⼩时到家,爸爸在家,拿棍等你。")
    continue
    elif result == "2":
    print("两个⼩时到家,妈妈已做好了战⽃准备。")
    continue
    else:
    print("请选择1 or 2")
    else:
    print("请输入 A or B or C")

    11、写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?
    sum = 0
    for i in range(1,100):
    if i % 2 == 0:
    if i == 88:
    continue
    i = -i
    sum += i
    print(sum)




    12. (升级题)判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海
    ⾃来⽔来⾃海上(升级题)

    str = input("请输入一句话:").strip()
    if str[-1::-1] == str:
    print("这句话是回文")

    else:
    print("这是个锤子")


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

    l,u,d,e = 0,0,0,0
    str = input("请输入一串字符>>:").strip()
    print("你总共输入了%s个字符"%len(str))
    if len(str) == 0:
    print("字符串为空!")
    else:
    for i in str:
    if i.islower():
    l += 1
    elif i.isupper():
    u += 1
    elif i.isdigit():
    d += 1
    else:
    e += 1
    print("大写字母:%s 个;小写字母:%s 个;数字 %s 个;其他字符:%s 个"%(u,l,d,e))



    14、制作趣味模板程序需求:等待⽤户输⼊名字、地点、爱好,根据⽤户的名
    字和爱好进⾏任意现实 如:敬爱可亲的xxx,最喜欢在xxx地⽅⼲xxx

    name = input("Name>>:").strip()
    address = input("adress>>:").strip()
    hobby = input("hobby>>:").strip()
    print("敬爱可爱的 %s,最喜欢在%s%s"%(name,address,hobby))



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


    name = input("请输入姓名:").strip()
    if len(name) >= 2:
    if name[0] not in first_names:
    print("%s不在百家姓中"%name[0])
    else:
    if name[0:2] in first_names:
    print("%s中姓在百家姓中"%name)
    print("%s大概率是复姓"%name[0:2])
    else:
    print("%s在百家姓中"%name[0])
    else:
    print("输入的姓名不合法!")




  • 相关阅读:
    Go语言实现:【剑指offer】剪绳子
    delphi10.3安装使用mySQL
    uniGUI学习之把窗口分成左,右边(上下)三部分,并且在运行中可以动态调节其相对大小(36)
    uniGUI学习之UniStringGrid(35)
    uniGUI之主窗口折叠UI之UniTreeMenu(32-2)
    好网站
    ios图片
    ios启动图的相关问题
    自学php
    Parse error: syntax error, unexpected $end in diguoclassfunctions.php on line 1246
  • 原文地址:https://www.cnblogs.com/alvin-jie/p/9833212.html
Copyright © 2011-2022 走看看