已采纳回答 / 慕慕9892548
对的,移完后c柱子上盘子的顺序和a是一样的。汉诺塔游戏规则是这样的:有n个圆盘,重上往下圆盘式逐个增大的,也就是最底层那个盘子最大,最上面盘子最小,然后开始移动,移动过程中只能小盘子放在大盘子上,而不能讲大盘子放到小盘子上,这种规则之后盘子越多路径就越复杂了。你可以在网上搜索一下这个游戏,玩着试一下,这个递归方程得出来的就是最优解
2018-07-19
已采纳回答 / fireflypower
在while的第二次循环开始时,x已经值为2,所以条件判断为false,即退出while循环,导致sum值只能为1所以可以看出while循环的判断条件有问题,应该使用if语句结构,将这条判断语句x%2 == 1内置在循环体以内。
2018-07-19
已采纳回答 / 木华0000
空字符串和"空"的概念应该不一样吧,空字符串是一个变量,只是这个字符串里没有字符,如果空字符串作参数是代表有参数的,但“空”是表示没有参数的,就像greet()是表示没有参数,但不表示参数是空字符串大概就是“0”和“没有”的区别,我感觉是这样的,所以上面的代码实现不了,因为就算是空字符串,也是属于有一个参数的类型了
2018-07-19
已采纳回答 / LLY123
一般for循环等循环语句还有if条件判断语句等等后面都要用“:”,“,”一般用在比如说像list这种数据结构还有print语句中分隔数或者字符串的。
2018-07-18
最赞回答 / LLY123
key返回的是字符串,也就是str,d[key]返回的是数值,也就是int型。在python中,如果直接将字符串和数字用“+”拼接会报错,如果把后面的d[key]转换成字符串类型就可以使用“+”来连接了。<...图片...><...图片...>
2018-07-18
已采纳回答 / 慕尼黑12366584
def average(*args): sum=0.0 if len(args)==0: return sum for x in args: sum=sum+x return sum / len(args)print average()print average(1, 2)print average(1, 2, 2, 3, 4)
2018-07-18
已采纳回答 / 妈妈说名字长就不会重复
递归就是在函数内部调用函数本身, <...code...>函数fact(n) 在内部调用fact(n - 1), 而调用fact(n - 1)时又会调用fact(n - 2). #每次调用都把参数n替换为n - 1(有点类似数学里的整体代换)当n减到等于1时不再调用本身, 这个就是递归函数的出口, 一直到这时候, 递归函数才开始计算数值1 * 2 * 3 * 4 * ......* (n - 1) * n也就是n!
2018-07-18
已采纳回答 / 慕婉清6318930
是版本问题,目的是为了节省内存。range不是真正的list类型,而是一个可迭代对象。可以通过list()函数将可迭代对象转换成list类型。可参考 https://www.cnblogs.com/scofi/p/4902640.html<...图片...>
2018-07-17