# 第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
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()函数来进行判断
代码运行结果为:
# 4 视频解析
高清视频讲解,请查看AI大学堂Python基础实战100例 (opens new window)
关注『讯飞AI大学堂』公众号,发送 python100 即可领取Python基础实战100例源代码