• python -- 字符串练习题


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

    • 移除 name 变量对应的值两边的空格,并输出处理结果

      name = " aleX leNb "
      s1 = name.strip()
      print(s1)
      
    • 将 name变量对应的值中所有的空格去除掉,并输出处理结果

      name = " aleX leNb "
      s1 = name.replace(' ','')
      print(s1)
      
    • 判断 name 变量是否以 "al" 开头,并输出结果(用两种方式 切片+字符串方法)

      name = " aleX leNb "
      # 切片
      print(name[:2] == "al")
      # 字符串
      s2 = name.startswith("al")
      print(s2)
      
    • 判断name变量是否以"Nb"结尾,并输出结果(用两种方式 切片+字符串方法)

      name = " aleX leNb "
      # 切片
      print(name[-2:] == "Nb")
      # 字符串
      s2 = name.endswith("Nb")
      print(s2)
      
    • 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果

      name = " aleX leNb "
      s = name.replace("l","p")
      print(s)
      
    • 将name变量对应的值中的第一个"l"替换成"p",并输出结果

      name = " aleX leNb "
      s = name.replace("l","p",1)
      print(s)
      
    • 将 name 变量对应的值根据 "l" 分割,并输出结果

      name = " aleX leNb "
      s = name.split("l")
      print(s)
      
    • 将 name 变量对应的值全部变大写,并输出结果

      name = " aleX leNb "
      print(name.upper())
      
    • 将 name 变量对应的值全部变小写,并输出结果

      name = " aleX leNb "
      print(name.lower())
      
    • 请输出 name 变量对应的值的第 2 个字符?

      name = " aleX leNb "
      print(name[1])
      
    • 请输出 name 变量对应的值的前 3 个字符?

      name = " aleX leNb "
      print(name[:3])
      
    • 请输出 name 变量对应的值的后 2 个字符?

      name = " aleX leNb "
      print(name[-1:-3:-1])
      

    2.有字符s = "123a4b5c"

    • 通过对s切片形成新的字符串 "123"

      s = "123a4b5c"
      print(s[:3])
      
    • 通过对s切片形成新的字符串 "a4b"

      s = "123a4b5c"
      print(s[3:6])
      
    • 通过对s切片形成字符串s5,s5 = "c"

      s5 = "123a4b5c"
      print(s5[-1])
      
    • 通过对s切片形成字符串s6,s6 = "2ab"

      s = "123a4b5c"
      print(s[1:6:2])
      
    • 通过对s切片形成字符串s6,s6 = "cba"

      s = "123a4b5c"
      print(s[-1:2:-2])
      

    3.使用while循环字符串 s="你好世界" 中每个元素。

    s="你好世界"
    count = 0
    while count < len(s):
        print(s[count])
        count += 1
    

    4.使用while循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"(提示使用字符串方法中的格式化)

    s="321"
    count = 0
    while count < len(s):
        print("倒计时%s秒" % (s[count]))
        count += 1
    print("出发!")
    

    5.使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"(提示使用字符串方法中的格式化)

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

    6.实现一个整数加法计算器(两个数相加):

    如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9(含空白),然后进行分割转换最终进行整数的计算得到结果。(列表也支持索引)

    content = input("请输入内容")
    content = content.replace(" ","")
    lst = content.split("+")
    print(int(lst[0]) + int(lst[1])
    

    7.计算用户输入的内容中有几个 s 字符?

    如:content = input("请输入内容:") # 如abcassfsqfsafqsdzacsad

    content = input("请输入内容:")
    a = content.count("s")
    print(a)
    
    # 一开始忘了字符串的这个操作 --- s1 = s.count()  用while循环写的
    count = 0
    sum = 0
    content = input("请输入内容:")
    while count < len(content):
        if content[count] == "s":
            sum += 1
        count += 1
    print(sum)
    

    8.使用while循环分别正向和反向对字符串 message = "伤情最是晚凉天,憔悴厮人不堪言。" 进行打印。

    message = "伤情最是晚凉天,憔悴厮人不堪言。"
    # 正向
    count = 0
    while count < len(message):
        print(message[count])
        count += 1
    # 反向
    message = "伤情最是晚凉天,憔悴厮人不堪言。"
    count = 0
    while count < len(message):
        print(message[-1-count])
        count += 1
        
    message = "伤情最是晚凉天,憔悴厮人不堪言。"
    count = 0
    num = -1
    while count < len(message):
        print(message[count],message[num])
        # print(message[count],end="")
        num -= 1
        count += 1
    

    9.获取用户输入的内容,并计算前四位"a"出现几次,并输出结果。

    content = input("请输入内容:")
    s = content[:4].count("a")
    print(s)
    
    #  这道题同第七题,后来又看笔记想到 s1 = s.count()
    count = 0
    sum = 0
    content = input("请输入内容:")
    while count < 4:
        if content[count] == "a":
            sum += 1
        count += 1
    print(sum)
    
    

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

    name = input("名字:")
    place = input("地点:")
    hobby = input("爱好:")
    print("敬爱可亲的%s,最喜欢在%s,干%s." % (name,place,hobby))
    print(f"敬爱可亲的{name},最喜欢在{place},干{hobby}")
    print("敬爱可亲的{},最喜欢在{},干{}".format(name,place,hobby))
    
    

    11.判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海⾃来⽔来⾃海上

    content = input("输入一句话:")
    s = content[::-1]
    if s == content:
        print("是回文")
    else:
        print("不是回文")
    
    

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

    s = input("请输入一个字符串")
    num = 0
    upper_str = 0
    loewr_str = 0
    other = 0
    for i in s:
        print(i)
        if i.isdecimal():
            num += 1
        elif i.islower():
            loewr_str += 1
        elif i.isupper():
            upper_str += 1
        else:
            other += 1
    print("大写字母出现%s次 小写字母出现%s次 数字出现%s次  其他字符出现%s次" % (upper_str, loewr_str, num, other)
    
    

    13.用户可持续输入(用while循环),用户使用的情况:
    输入A,则显示走大路回家,然后在让用户进一步选择:
    是选择公交车,还是步行?
    选择公交车,显示10分钟到家,并退出整个程序。
    选择步行,显示20分钟到家,并退出整个程序。
    输入B,则显示走小路回家,并退出整个程序。
    输入C,则显示绕道回家,然后在让用户进一步选择:
    是选择游戏厅玩会,还是网吧?
    选择游戏厅,则显示 ‘一个半小时到家,爸爸在家,拿棍等你。’并让其重新输入A,B,C选项。
    选择网吧,则显示‘两个小时到家,妈妈已做好了战斗准备。’并让其重新输入A,B,C选项。

    while True:
        s = input("请选择A,B,C.")
        if s.upper() == "A":
            s1= input("选择公交还是步行")
            if  s1 == "公交":
                print("10分钟到家")
            elif s1 == "步行":
                print("20分钟到家")
            break
        elif s.upper() == "B":
            print("走小路回家")
            break
        elif s.upper() == "C":
            print("绕道回家")
            s2 = input("选择游戏厅玩会,还是网吧")
            if s2 == "游戏厅":
                print("一个半小时到家,爸爸在家,拿棍等你.")
            elif s2 == "网吧":
                print("两小时到家,妈妈已做好战斗准备.")
    
    
  • 相关阅读:
    Redis中的批量删除数据库中的Key
    Solr中初学Demo
    Solr中Schema.xml中文版
    Eclipse中web项目的默认发布路径改为外部Tomcat中webapp路径
    Java操作XML的工具类
    Java中创建操作文件和文件夹的工具类
    Java中的操作日期的工具类
    Java POI操作Excle工具类
    【转】怎样写一个解释器
    【转】什么是语义学
  • 原文地址:https://www.cnblogs.com/Agoni-7/p/11012960.html
Copyright © 2020-2023  润新知