• 第一次个人编程作业


    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/SE
    这个作业要求在哪里 https://edu.cnblogs.com/campus/fzzcxy/SE/homework/10283
    这个作业的目标 捡起很久没仔细写过的python代码,锻炼思维能力
    作业正文 如下
    其他参考文献 江李悦同学的随笔 https://www.cnblogs.com/qq1261275789/p/12264130.html,百度,哔哩哔哩github以及git库的搭建教学

    我的github库:https://github.com/heyfzc/homework

    git库搭建和建立修改文件(工作区-暂存区-git库)

    大致对题目的想法:

    因为好久没有认真写过Python了而且正好家里电脑之前安装了Python就选择了用Python写这次的作业,但是后来我才发现自己把自己坑了,第一是因为平时代码写得少,有了思路不知道怎么下笔,太多运行错误了,于是乎翻开提交了的同学的随笔江李悦同学和我一样使用Python写的最重要的是我看懂啦!仔细体会了一番,决定先把最基础的版本写好。自己写的时候因为太久没写导致很多细节的点都没有注意,就连最基础的用空格做分隔符都忘了写,返回值也忘了设置,没办法仔细对比再去百度查找用法最后好歹是写出来一个版本。自己没能完全独立自主写出代码确实挺丢脸的,自己基础比较差但是就算不会写也要去学学别人的思路,在百度仔细学习python函数用法,我觉得慢慢会追上来的,我对自己有信心。

    样例一代码:

    代码行数:128行
    分析时间:2小时+
    编码时间:12小时+

    输入部分:

    #输入函数:本来想写成数组不想一个一个输入,但是奈何死活跑不出来,退而求其次一句一句的输入吧!
    def 输入():
        str = input()
        a = str.split()#以空格为间隔!
        if len(a)>0:
            #判断是否是第一句话,如果是将计算后输出的字符串t的第一个字符确定为“温度”
            if a[0] == '整数':
                t[0] = a[1]
            #如果是判断和输出语句,则字符串t的第一个字符确定为“温度”
            elif a[0] == '看看' or '如果':
                t[0] = a[1]
            #其他情况“温度”皆为首个字符,输入到t[0]
            else:
                t[0] = a[0]
            return a #返回值,否则为空,血的教训!!!
        else:
            return None
    

    中文数字转阿拉伯数字:

    def 中文转阿拉伯(s):#首先输入的是中文,所以需要先把中文转化为阿拉伯数字进行运算。
        if len(a) <= 2:#如果输入字符串长度不大于2,则对输入的字符串进行判断
            a[1] = a[1]#字符串长度等于2说明输入的是“看看 温度”所以此温度不需要进行运算a[1]=温度,直接输出
        #此时判断输入的第三个字符是否是数字(第二三句输入),否则继续判断。
        elif a[2] == '零':#将中文转化为阿拉伯数字,下同。
            a[2] = 0
        elif a[2] == '一':
            a[2] = 1
        elif a[2] == '二':
            a[2] = 2
        elif a[2] == '三':
            a[2] = 3
        elif a[2] == '四':
            a[2] = 4
        elif s[2] == '五':
            a[2] = 5
        elif a[2] == '六':
            a[2] = 6
        elif a[2] == '七':
            a[2] = 7
        elif a[2] == '八':
            a[2] = 8
        elif a[2] == '九':
            a[2] = 9
        elif a[2] == '十':
            a[2] = 10
        #此处判断输入的字符串第四个字符是否是数字(第一句话)
        elif a[3] == '零':#汉子转化为阿拉伯数字,下同。
            a[3] = 0
        elif a[3] == '一':
            a[3] = 1
        elif a[3] == '二':
            a[3] = 2
        elif a[3] == '三':
            a[3] = 3
        elif a[3] == '四':
            a[3] = 4
        elif a[3] == '五':
            a[3] = 5
        elif a[3] == '六':
            a[3] = 6
        elif a[3] == '七':
            a[3] = 7
        elif a[3] == '八':
            a[3] = 8
        elif a[3] == '九':
            a[3] = 9
        elif a[3] == '十':
            a[3] = 10
        return a #设置返回值!!!
    

    阿拉伯数字转中文数字:

    没有写负数和更高的范围,因为考虑到了这种情况但是两边没有界限不知道怎么控制(-10000我总不能写10000个判断),
    我看到有的同学考虑了这一点,但是有的没看太懂有的方法我觉得不是我觉得不是最佳的解决方案(比如说范围写到亿),我今后还会仔细思考完善的。

    def 阿拉伯转中文():
        if t[1] == 0:#将运算后的温度的数值转化为汉字并存入t[3].
            t[3] = '零'
        elif t[1] == 1:
            t[3] = '一'
        elif t[1] == 2:
            t[3] = '二'
        elif t[1] == 3:
            t[3] = '三'
        elif t[1] == 4:
            t[3] = '四'
        elif t[1] == 5:
            t[3] = '五'
        elif t[1] == 6:
            t[3] = '六'
        elif t[1] == 7:
            t[3] = '七'
        elif t[1] == 8:
            t[3] = '八'
        elif t[1] == 9:
            t[3] = '九'
        elif t[1] == 10:
            t[3] = '十'
        return a #返回值!
    
    

    运算过程:

    def 运算过程(a):
    #判断输入的是第一个字符串:整数 气温 等于 十
        if (a[0]=='整数') and (a[2]=='等于'):
            t[1] = a[3]
    #判断输入的是第二个字符串:气温 减少 三
        if a[1] == '减少':
            t[1] = t[1] - a[2]
    #判断输入的是第三个字符串:气温 增加 二
        if a[1] == '增加':
            t[1] = t[1] + a[2]
    #判断输入的是第四个字符串:看看 气温
        if a[0] == '看看':
            阿拉伯转中文()
            print(t[3])#输出转化后的中文数字。
    #判断输入的是第五个字符串:如果 气温 大于 八 则 看看 “你好,世界” 否则 看看 “冻死我了”
        if a[0] == '如果':
            if a[2] == '大于':
                if t[1] > a[3]:#如果数值大于8,则输出:你好,世界
                    print(a[6])
                else:
                    print(a[9])#否则输出:冻死我了
    

    程序入口

    t=['',0,0,''] #t字符串起到阿拉伯数字转换汉字时的中间转换工具。
    while(1):
        a=输入()
        if a!=None:#a字符串不为空则继续运行
            a=中文转阿拉伯(a)
            运算过程(a)
        else:#否则结束
            print('结束')
            break
    
  • 相关阅读:
    supervisor安装(sentos7)
    linux网络管理----远程登录工具
    asp.net mvc 文件压缩下载
    JavaScript 逗号表达式
    SQL面试题——查询课程
    js中== ===的区别
    网易笔试题目:三列布局,中间自适应宽度,双飞翼布局,及问题
    搜狐面试题:有12个球,外形都一样,其中有一个质量和其他的不一样,给你一架天平,请问最少称几次可以把那个不同的球找出来。
    行内元素对齐:display:inline-block;
    respond.js第六行 SCRIPT5: 拒绝访问。跨域问题
  • 原文地址:https://www.cnblogs.com/fzc170/p/12288932.html
Copyright © 2020-2023  润新知