# 第45期-999除法

Python是一门需要不断实践练习的编程语言,本文档将AI大学堂学员交流群的Python每周练习进行汇总,希望各位小伙伴能够多进行实践练习,逐渐爱上这门神奇的编程语言,掌握它并在生活中能够使用它。

# 1 问题描述

输入一个奇数,然后判断最少几个 9 除于该数的结果为整数。

# 2 解题思路

  • 第一步: 首先输入一个数,input函数
  • 第二步: 判断该数是否为奇数
  • 第三步: 用无限循环,从一个九开始除以刚刚的奇数求余
  • 第四步: 若余不为0则不能整除,增加九的数量
  • 第五步: 注意:5的倍数无法被9的倍数整除,会陷入无限循环

# 3 解题方法

n = int(input('请输入一个奇数:'))
def b():
    global n
    if n%2==0:
        n = int(input('您输入的不是奇数,请输入一个奇数:'))
        return b()
    if n%5==0:
        n = int(input('无解,请重新输入:'))
        return b()
    else:
        return c(n)
def c(n):
    x = 10
    while True:
        if (x - 1) % n == 0:
            print(f'至少{len(str(x-1))}个9除以{n}的结果为整数')
            break
        else:
            x *= 10
b()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

第1行: 使用input函数提醒用户输入一个奇数并转化为整数类型赋值给n
第2行: 创建函数b()用于判断是否是奇数或者是5的倍数
第3行: 引入全局变量n
第4-5行: 若输入的是偶数,提醒用户重新输入一个奇数并转化为整数类型赋值给n
第6行: 重新用函数b()判断是否是奇数或者是5的倍数
第7-8行: 若输入的是5的倍数,提醒用户重新输入一个奇数并转化为整数类型赋值给n
第9行: 重新用函数b()判断是否是奇数或者是5的倍数
第10行: 其他情况下输入的便都是满足题意的奇数了,使用c(n)函数进行解题
第11行: 创建函数c()用于判断多少个九是输入的数的倍数,输入的数n作为自变量
第12行: 由于9、99、999等都可以看作是10-1、100-1、1000-1,所以可以使用10来作为初始数
第13、17-18行: 无限循环直到找到可以整除的9的倍数为止
第14-16行: 如果是可以整除的9的倍数,打印结果并结束循环
第19行: 使用b()函数来进行判断

代码运行结果为:
image.jpg

# 4 视频解析

高清视频讲解,请查看AI大学堂Python基础实战100例 (opens new window)
关注『讯飞AI大学堂』公众号,发送 python100 即可领取Python基础实战100例源代码
AI大学堂公众号.png

更新于: 12/28/2021, 7:43:14 AM