已采纳回答 / 浅笑清风
Tuple 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 。如果对不需要修改的数据进行 “写保护”,可以使代码更安全。说明这一数据是常量。
2017-10-19
已采纳回答 / _天微凉_
x都是tuple类型的数据,x(0)是字符串,x(1)是数字,所以%x是将x里的两个元素分割开,并且x(0)按%s也就是字符串格式输出,x(1)按%d也就是整数格式输出。
2017-10-17
已采纳回答 / 慕粉0100288097
python里的所有东西都是对象,对象都有属性。for a in B: 底层本质的含义是对B对象进行遍历。底层的设计B对象上必须含有__iter__属性和next()方法时,B才能被for循环遍历。而刚好pyhon里,字符串对象是有__iter__属相和next()方法的,所以他是可以被for循环遍历的。换句话说,为什么sum(x,y)就等于x和y的和呢。因为sum()这个函数是被程序设计者封装了一个简单算法在里面。同理,为什么字符串对象可以被遍历呢,因为python的设计者在设计之初就对“字符串可...
2017-10-15
已采纳回答 / yc913344706
for m in M: m=m+1上面这里有问题,你只对列表中的元素m进行了改变,并没有改变列表M,应该改为下面的:for index,value in enumerate(M): value=value+1 M[index]=value
2017-10-15
已采纳回答 / 慕粉9965376
特意运行了一下R1函数:这句r[-1:],r[0:-1] = r[0:-1],r[-1:]其实是先后执行以下两步:1、r[-1:]=r[0:-1] #先把“Ronaldo”变成“RonaldRonald”,存在内存里,r这个时候还是“Ronaldo”,还没有赋值为“RonaldRonald”2、r[0:-1]=r[-1:] #再把“RonaldRonald”变成“od”,因为r还是“Ronaldo”,所以取'o'替换“RonaldRonald”中的“RonaldRonal”执行完之后r才赋值为“od”R...
2017-10-15
已采纳回答 / 幕布斯3073696
汉诺塔讲究大小顺序,小的在上大的在下,要把n个盘子从a柱移到c柱就是move(n,a,b,c)。注意函数里面的4个参数:第一个参数(n)代表的是盘子个数,第二个参数(a)的位置代表的是起始柱,第三个参数(b)代表的是过渡柱,最后一个参数(c)代表的是目标柱。你不要想具体的移动的步骤,抽象来想:第一步就是把n-1个小盘子移到b,第二步是把a柱上的最大的盘子移到c,最后是把b柱上n-1个盘子移到c所以第一步就是move(n-1,a,c,b) ,这个参数代表把n-1个盘子从a起始柱移到b目标柱,c就当是个过渡的...
2017-10-13
已采纳回答 / 0神龙0
不符合while的退出是和break一样,直接完全退出,continue是退出当次循环,可以理解为跳过,和退出是不一样的,举个例子,比如你循环从1加到10,然后其中我不想加3,这时就写个if判断,假如等于3就continue,就会直接跳过3,不过循环并不会结束,从4开始往下加,直到加到10为止才停止
2017-10-11