小白,问一下各位大神,回文联这题的注释对吗
def palindrome(string):#创建回文联函数length = len(string)#计算字符串长度
last = length-1#这里表示的是最后一个字符的位置信息
length //= 2#长度从中间刨开
flag = 1#标记1
for each in range(length):#for用each循环length的次数
if string != string:#如果字符串的首和尾不匹配标记
last -= 1#如果第0个和最后一个匹配,则继续匹配第1个和倒数第二个,这样循环下去;each是从0循环字符串出来,last-1是从最后个一个字符串倒着回来。
if flag == 1:#如果条件成立 标记为1
return 1#返回值1
else:#如果不成立
return 0#返回值0
string = input('请输入一句话:')#输入的字符赋值给string
if palindrome(string) == 1:#如果条件 回文联函数值等于1 成立
print('是回文联!')#打印是回文联
else:#条件不成立
print('不是回文联!')#打印不是回文联
#自己不会做,就看了答案,翻了很多前面人做的,然后我在自己加了注释,不知道对不对。 你这个函数明显少写了东西,关键flag要根据判断赋1或者0,缺漏了。
其实回文联最简单的就是倒过来比较一下就OK了
def palindrome(string):
if string == string[::-1]:
print('是回文联')
else:
print('不是回文联') 凌九霄 发表于 2018-8-25 12:57
你这个函数明显少写了东西,关键flag要根据判断赋1或者0,缺漏了。
其实回文联最简单的就是倒过来比较一下 ...
这个函数是课后答案,我的理解是这个函数只负责返回return值是等于1还是0,可能跟课程涉及的有关。不过你太厉害了,竟然可以使用列表来做出来,而且代码还少。{:9_228:} Lioo 发表于 2018-8-25 13:24
这个函数是课后答案,我的理解是这个函数只负责返回return值是等于1还是0,可能跟课程涉及的有关。不过你 ...
可能是课程要求那么去比较吧。另外,那个不是列表,是字符串切片 凌九霄 发表于 2018-8-25 14:29
可能是课程要求那么去比较吧。另外,那个不是列表,是字符串切片
谢谢
页:
[1]