鱼C论坛

 找回密码
 立即注册
查看: 1617|回复: 3

[已解决]19ti 定义问题

[复制链接]
发表于 2017-5-22 21:36:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def palindrome(string):
    length = len(string)
    last = length-1
    length //= 2
    flag = 1
    for each in range(length):
        if string[each] != string[last]:
            flag = 0
        last -= 1

    if flag == 1:
        return 1
    else:
        return 0

string = input('请输入一句话:')
if palindrome(string) == 1:
    print('是回文联!')
else:
    print('不是回文联!')
请问一下
last -= 1
length //= 2
这两句表示什么意思
最佳答案
2017-5-22 22:53:51
last = length-1,python没有自减运算,
所以,last -= 1,等价于last=last-1,案例中,这个last是代表列表的最后一个下标
length //= 2,等价与length=length//2,‘//’也是除法,只是它是向下取整,案例中,这个表示字符串长度的一半
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-22 22:53:51 | 显示全部楼层    本楼为最佳答案   
last = length-1,python没有自减运算,
所以,last -= 1,等价于last=last-1,案例中,这个last是代表列表的最后一个下标
length //= 2,等价与length=length//2,‘//’也是除法,只是它是向下取整,案例中,这个表示字符串长度的一半
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-22 23:13:34 | 显示全部楼层
python 运算的简写:
a -= 1  :  a= a-1
a +=1  :  a= a+1
a *= 1  :  a= a*1
a /= 1  :  a= a/1
等等以此类推
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-23 19:43:56 | 显示全部楼层
首先,这两个语句与
last = last -1
length=length // 2
是等价的。

这里涉及的知识点,主要是赋值运算符。基本的赋值运算符是“=”,它意味着把右边表达式的值赋给左边的运算数。此外,还有复合的赋值运算符,又称为带有运算的赋值运算符,也叫赋值缩写。例如:i=i+j;可表示为 i+=j;这里+=是复合赋值运算符。同样的共有10种这样的运算符,它们是:
+= 加赋值
-= 减赋值
*= 乘赋值
/= 除赋值
%= 求余赋值
&= 按位与赋值
| = 按位或赋值
^= 按位异或赋值
<<= 左移位赋值
>>= 右移位赋值


最后,如果觉得回答满意,请设为最佳答案。不要让帖子一直处于待解决状态。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 18:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表