请求注释,帮忙理解下
def palindrome(string):length = len(string)
last = length-1
length //= 2
flag = 1
for each in range(length):
if string != string:
flag = 0
last -= 1
if flag == 1:
return 1
else:
return 0
string = input('请输入一句话:')
if palindrome(string) == 1:
print('是回文联!')
else:
print('不是回文联!')
def palindrome(string):
length = len(string)
last = length-1
length //= 2
flag = 1
print("length的值:",length)
for each in range(length):
print(string , string,"each=",each,"last=",last)
if string != string:
flag = 0
last -= 1
if flag == 1:
return 1
else:
return 0
string = input('请输入一句话:')
if palindrome(string) == 1:
print('是回文联!')
else:
print('不是回文联!')
请输入一句话:我试试我
length的值: 2
我 我 each= 0 last= 3
试 试 each= 1 last= 2
是回文联!
请输入一句话:我是使我
length的值: 2
我 我 each= 0 last= 3
是 使 each= 1 last= 2
不是回文联! def palindrome(string):
length = len(string)
last = length-1
length //= 2 #length等于length除以2,相当于把字符串对折
flag = 1 #标志变量
for each in range(length):
if string != string:#如果字符串中索引为each的字符不等于索引为last的字符,就是判断是否对称
flag = 0 #就是拿第一个和最后一个相比,然后拿第二个和倒数第二个相比...
last -= 1 #要是有一对不相等,flag就等于0
if flag == 1:
return 1
else:
return 0
string = input('请输入一句话:')
if palindrome(string) == 1: #调用函数,看返回的是1还是0
print('是回文联!')
else:
print('不是回文联!') def palindrome(string): #定义函数,传入字符串
length = len(string) #取字符串长度
last = length-1#最后一位下标
length //= 2#地板除2,相当于字符串折中
flag = 1 #标记
for each in range(length):#遍历字符串每个元素
if string != string:
flag = 0 #首尾不同时,标记改变
last -= 1 #尾部前移(同时还有for循环决定的头部后移)
if flag == 1:#返回标记
return 1 #1为是回文串,0不是
else:
return 0
string = input('请输入一句话:')
if palindrome(string) == 1:
print('是回文联!')
else:
print('不是回文联!')
理解了记得给个最佳 def palindrome(string):
length = len(string) #输入字数
last = length-1
length //= 2 #取商的整数部分
flag = 1
for each in range(length):
if string != string: #输入字符串的第一个字符和最后一个字符比较是否相等
flag = 0 #不相等则flag为0
last -= 1
if flag == 1:
return 1
else:
return 0
string = input('请输入一句话:')
if palindrome(string) == 1:
print('是回文联!')
else:
print('不是回文联!')
就是用取字符串字数除以2商的整数部分把字符串从中间分为两半,用for循环依次比较两端字符是否相等,如果相等则返回flag为1,反之则返回flag为0,最后判断返回为1则是回文联,否则不是。
页:
[1]