鱼C论坛

 找回密码
 立即注册
查看: 4086|回复: 4

[技术交流] 给Python新手的一个小程序

[复制链接]
发表于 2020-5-11 13:58:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Python新手最好的学习方式就是 ——多练习

OK, 今天,大佬来给新手出一道特别简单的程序(对大佬来说简单透了,不知初学者如何):
让用户输入一个不到10000的数,然后把数转换成中文,例子:
输入13,得到十三

输入678,得到六百七十八,

输入9842,得到九千八百四十二。

初学者马上思考,这是一个好玩的程序。暂时不发代码,大家先思考(有代码,只不过忘加注释了,一会告诉大家!)

禁止转载,大佬勿喷
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-11 14:01:12 | 显示全部楼层
占楼
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-5-11 14:06:36 | 显示全部楼层
没人吗,那我发代码啦?

代码:
class Program():    # 创建对象,把整个程序弄成一个对象
    def __init__(self): # 创建__init__方法
        answer = input('请输入一个正整数,最大也不能超过10000: ')   # 获得输入

        if answer.isdigit():    # 对那些不听话的小娃娃进行判断
            num = int(answer)   # 创建变量,继续判断
            if num < 10000 and num > 0: # 继续判断
                print(self.look(self.split(num)))   # 输出(使用两个其他的方法)
            else:   # 继续判断
                print('不符合要求')      # 对娃娃进行教育
        else:   # 对那些不听话的小娃娃进行判断
            print('不符合要求')  # 对娃娃进行教育
    def split(self, num):   # 创建split方法
        string = '' # 初始化变量
        for index, item in enumerate(str(num)): # 循环
            string += item + ('0' * ((len(str(num))) - (index + 1)))    # 对数字进行分析

            if not index + 1 == len(str(num)):  # 判断
                string += '-'   # 对string进行分段
                
        return string   # 返回string
    def look(self, string): # 创建look方法
        String = '' # 初始化变量
        DictNum = {1: '十', 2: '百', 3: '千'}  # 初始化字典
        DictString = {1: '一', 2: '二', 3: '三', 4:'四', 5:'五', 6: '六', 7:'七', 8:'八', 9: '九', 0: '零'}  # 初始化字典
        List = string.split('-')    # 初始化列表

        for each in List:   # 循环
            if int(each.count('0')):    # 判断
                String += (DictString[int(each[0])] + (DictNum[each.count('0')])) # 计算并分析(比else分析的复杂一些)
            else:   # 判断
                String += DictString[int(each)] # 计算并分析

        return String   # 返回String
if __name__ == '__main__':  # 初始化执行程序
    program = Program() # 运行程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-5-11 14:09:47 | 显示全部楼层
这个不是新手做的题吧,都扯到对象上面了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-10-30 18:06:58 | 显示全部楼层
我忽然发现一个BUG

错啦.JPG

不是八千四百一十吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 21:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表