|

楼主 |
发表于 2020-1-6 15:27:10
|
显示全部楼层
然后我尝试加入列表来把余数放在一起, 加入翻转
- def chu2(x):
- shang = 1 #先定义变量shang
- yushu = 0 #先定义变量yushu
- list1 = [] #点定义一个空列表
-
- while shang: #当商不为0时进行循环,也控制了当商为0时结束循环,即题目要求的“直到商为小于1时为止”
- '''python语法中, / 是除法,例如:2/3 = 0.6666。而//是表示向下取整的除法,例如3//2=1,6.0//4 = 1。
- 也就是说 / 返回的是浮点类型的结果, 而 // 返回的是整数结果(可以理解为/的整数部分)'''
- print('本轮循环开始时x值为', x)
- shang = x // 2 #把x向下取整进行除法得到商复制给变量shang
- print('代码运行到这里商值为', shang)
- yushu = x % 2 #x除以2得余数复制给变量yushu
- print('代码运行到这里余数值为', yushu)
- x = shang #把本轮循环中的商值赋值给下轮循环的被除数x
- print('本轮循环结束时, x值为', x)
- list1.append(yushu) #把本轮循环的余数添加进列表尾部
- print('余数列表当前为', list1)
- print()
- list1.reverse() #将余数列表翻转
- return list1
复制代码
运行结果为:
运行结果为:
>>> chu2(6)
本轮循环开始时x值为 6
代码运行到这里商值为 3
代码运行到这里余数值为 0
本轮循环结束时, x值为 3
余数列表当前为 [0]
本轮循环开始时x值为 3
代码运行到这里商值为 1
代码运行到这里余数值为 1
本轮循环结束时, x值为 1
余数列表当前为 [0, 1]
本轮循环开始时x值为 1
代码运行到这里商值为 0
代码运行到这里余数值为 1
本轮循环结束时, x值为 0
余数列表当前为 [0, 1, 1]
[1, 1, 0] |
|