第一次个人编程作业

这个作业属于哪个课程 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
posted @ 2020-02-09 21:46  heyfzc  阅读(262)  评论(0编辑  收藏  举报
© 2020 GitHub, Inc.