陈尚涵 发表于 2020-5-11 13:58:23

给Python新手的一个小程序

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

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

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

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

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

禁止转载,大佬勿喷

老八秘制 发表于 2020-5-11 14:01:12

占楼

陈尚涵 发表于 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)] + (DictNum)) # 计算并分析(比else分析的复杂一些)
            else:   # 判断
                String += DictString # 计算并分析

      return String   # 返回String
if __name__ == '__main__':# 初始化执行程序
    program = Program() # 运行程序

KevinHu 发表于 2020-5-11 14:09:47

这个不是新手做的题吧,都扯到对象上面了……{:10_245:}

元豪 发表于 2022-10-30 18:06:58

我忽然发现一个BUG{:5_109:}



不是八千四百一十吗?
页: [1]
查看完整版本: 给Python新手的一个小程序