本帖最后由 WilsonWolf2333 于 2020-1-8 17:30 编辑
核对自己写的代码后,最终修改如下:def chu2(x):
shang = 1 #先定义变量shang
yushu = 0 #先定义变量yushu
list1 = [] #点定义一个空列表
str1 = '' #定义空字符串,目的是把余数放到这个字符串里
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()
while list1: #造成循环,而且控制当list为空时终止循环
str1 += str(list1.pop()) #每次循环都把list1列表最后一个元素去除,同时返回这个元素的值,拼接进str1字符串中
print('当前余数字符串为',str1)
return str1
print(chu2(5))
总结如下:
1.上述代码中加入一些print语句目的是运行过程中看到各个变量当时的值
2.当时自己编代码时忘记了list.pop()这个语法
3.通过上述盖楼加深了对函数等基础语法的理解
以上就是负基础小白白白学习这一课的过程,感谢FC提供的这个平台! |