请大神帮解释一下
下面这段代码中n == n ,为什么可以这样写?def is_palindrome(n, start, end):
if start > end:
return 1
else:
return is_palindrome(n, start+1, end-1) if n == n else 0
string = input('请输入一串字符串:')
length = len(string)-1
if is_palindrome(string, 0, length):
print('"%s"是回文字符串!' % string)
else:
print('"%s"不是回文字符串!' % string)
字符串可以加索引获取对应位置字符 根据索引位置获取字符串中的字符:字符串[索引位置]
例如:
s = 'abcdefg'
print(s)# 得到c
print(s)# 得到的是d
就是这么个意思。 本帖最后由 _Konglong 于 2020-12-21 12:14 编辑
都搞懂了三元操作符 没道理问字符串索引的啊 我就假设你在问三元操作符了 举个栗子 print("1") if 1 or 0 else print("0") #输出 1 在举个栗子 print("1") if 1 and 0 else print("0") #输出 0
第一个栗子就相等于
if 1 or 0:
print("1")
else:
print("0")
第二个栗子也只是 or 变成了 and
就是 中间判断 为真执行左边 为假执行右边
is_palindrome(n, start+1, end-1) if n == n else 0
这段代码的意思就是 如果字符串第一位和最后一位是一样的 就在执行多一次函数并改变start和end的值就是判断第二位和倒数第二位是不是一样的如果不是就返回0 代码下面的 if一接收到了0 (0==False) 就会进入else 然后就会打印 不是回文联! _Konglong 发表于 2020-12-21 12:10
都搞懂了三元操作符 没道理问字符串索引的啊 我就假设你在问三元操作符了 举个栗子 print("1") if 1 or 0 e ...
多谢指教 塔利班 发表于 2020-12-20 22:33
字符串可以加索引获取对应位置字符
多谢指教
页:
[1]