栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[Python语言程序设计]Python 课程作业 1

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[Python语言程序设计]Python 课程作业 1

    输入年、月(数1~12),日(数1~31)再使用相应的月份名等将日期打印出来

     类似输入:
         Year:1989
         Month(1-12):08
         Day(1-31):16
     输出:
     	August 16th,1989
    

    源码:

    # 输入年月日数据
    year = input("Year:")
    month = int(input("Month(1-12):"))
    day = int(input("Day(1-31):"))
    
    # 用列表存储每个月份对应的英文、每天对应的英文后缀
    months = ["January", "February", "March", "April", "May", "June",
              "July", "August", "September", "October", "November", "December"]
    days = ['st', 'nd', 'rd'] + 17 * ['th'] + 
        ['st', 'nd', 'rd'] + 7 * ['th'] + ['st']
    
    # 从列表中直接取出对应月和对应天的英文后缀值
    monthStr = months[month - 1]
    daySuffix = days[day - 1]
    # 重新拼接 dayStr
    dayStr = str(day) + daySuffix
    print(monthStr + " " + dayStr + "," + year)
    

    截图:

    将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消息应非常简单,如 “Hello Eric, would you like to learn some Python today?”

    源码:

    name = input("Please input your name:")
    print(name + ", welcome! Do you like Python?")
    

    截图:

    调整名字的大小写:将一个人名存储到一个变量中,再以小写、大写和首字母大写的方式显示这个人名

    源码:

    name = input("Please input your name:")
    name = name.lower()
    print(name + ", welcome! Do you like Python?")
    name = name.upper()
    print(name + ", welcome! Do you like Python?")
    name = name.capitalize()
    print(name + ", welcome! Do you like Python?")
    

    截图:

    名言 1:找一句你钦佩的名人说的名言,将这个名人的姓名和他的名言打印出来。输出应类似于下面这样(包括引号):

    Albert Einstein once said, “A person who never made a mistake never tried anything new.” 
    

    源码:

    name = "Albert Einstein"
    sentence = ""A person who never made a mistake never tried anything new.""
    print(name + " once said, " + sentence)
    

    截图:

    名言 2:重复练习 4,但将名人的姓名存储在变量 famous_person 中,再创建要显示的消息,并将其存储在变量 message 中,然后打印这条消息

    源码:

    name = "Albert Einstein"
    sentence = ""A person who never made a mistake never tried anything new.""
    print(name + " once said, " + sentence)
    

    截图:

    剔除人名中的空白:存储一个人名,并在其开头和末尾都包含一些空白字符。务必至少使用字符组合 “t” 和 “n” 各一次。打印这个人名,以显示其开头和末尾的空白。然后,分别使用剔除函数 lstrip()、 rstrip() 和 strip() 对人名进行处理,并将结果打印出来

    源码:

    name = "  St prinng -_ t- n B ent ar"
    print("Before Skip")
    print(name)
    # 去除字符串中的换行符和制表符
    name = name.replace("n","").replace("r","").replace("t","")
    # 去除字符串前后、中间的空格
    name = name.lstrip().rstrip().strip().replace(" ","")
    print("After Skip")
    print(name)
    

    截图:

    输入一个 int 型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数

    源码:

    num = input("Please input a number:")
    # 将输入的数字反转后放入列表
    l = list(reversed(num))
    result = []
    # 如果结果中不存在对应数字则放入列表中
    for i in l:
        if i not in result:
            result.append(i)
    # 拼接列表并输出
    print("".join(result))
    

    截图:

    数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照 key 值升序进行输出

    源码:

    # 输入键值对个数
    num = int(input("Please the numbers of the key-value group:"))
    # key - value 集合,不允许重复
    key_value = {}
    # 依次输入 key、value
    for i in range(num):
        key,value = input().split(' ')
        key = int(key)
        value = int(value)
        if(key in key_value):
            key_value[key]+= value
        else:
            key_value[key] = value
    print("=====After merged=====")
    for x,y in key_value.items():
        print(x,y)
    

    截图:

    连续输入字符串,请按长度为 8 拆分每个字符串后输出到新的字符串数组;长度不是 8 整数倍的字符串请在后面补数字 0,空字符串不处理

    源码:

    str1 = input("Please input a string:")
    
    # 如果 str 的长度小于 8,则直接输出并在其后补 0
    if len(str1) <= 8:
        print(str1 + "0"*(8-len(str1)))
    else:
        while len(str1) > 8:
            # 直接输出前 8 位
            print(str1[:8])
            # 对 str1 重新赋值
            str1 = str1[8:]
        # 输出剩余的字符串,补 0 输出
        print(str1 + "0"*(8-len(str1)))
    

    截图:

    输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用)按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照 ASCII 码由小到大排序输出

    源码:

    from collections import defaultdict
    
    dd = defaultdict(list)
    s = input("Please input a string:")
    res = ""
    # 遍历输入的字符串
    for i in set(s):
        # 使用 defaultdict 排序存放
        dd[s.count(i)].append(i)
    for i in sorted(dd.keys(), reverse=True):
        res += "".join(sorted(dd[i], key=ord))
    print(res)
    

    截图:

    在字符串中找出连续最长的数字字符串:

    输入:一个字符串

    输出:字符串中最长的数字字符串和它的长度。如果有相同长度的串,则要一块儿输出,但是长度还是一串的长度

    源码:

    str1 = input("Plese input a string:")
    # 使用正则表达式匹配 1 ~ n 个数字
    value = re.findall(r'd+', str1)
    if value != []:
        max_list = []
        max_str = ""
        # 遍历数字串,找到最长的串
        for i in value:
            if len(max_str) < len(i):
                max_list = []
                max_str = i
                max_list.append(i)
            elif len(max_str) == len(i):
                max_list.append(i)
        print("".join(max_list)+","+str(len(max_str)))
    

    截图:

    实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序

    源码:

    str1 = input("Please input a string:")
    # 先分别统计每个元素出现的次数,字典存放
    d = {}
    for i in str1:
        if i not in d.keys():
            d[i] = 1
        else:
            d[i] += 1
    print(d)
    
    # 再次遍历去掉次数最少的
    for j in d.keys():
        # 判断等于最小的次数  min(d.values())
        if d[j] == min(d.values()):
            str1 = str1.replace(j, '')
    print(str1)
    

    截图:

    输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数

    源码:

    str = input("Please input a string:")
    letter = 0
    digit = 0
    space = 0
    other = 0
    i = 0
    
    while i < len(str):
        ch = str[i]
        i += 1
        if ch.isalpha():
            letter += 1
        elif ch.isdigit():
            digit += 1
        elif ch.isspace():
            space += 1
        else:
            other += 1
    
    print('letter = %d, space = %d, digit = %d, other = %d' % (letter, space, digit, other))
    

    截图:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768079.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号