gpt4 book ai didi

python - 如果向前的前 4 位数字等于向后的最后 4 位数字,则检查数字

转载 作者:行者123 更新时间:2023-11-28 20:04:25 24 4
gpt4 key购买 nike

如果前进的最后 4 个元素等于后退的最后 4 个元素,则打印数字。我输入了一个数字,其中最后 4 个元素显然是回文。为什么这不打印号码?

def checkNum(i):
num = str(i)
if num[len(num)-5:len(num)-1:1] == num[len(num)-5:len(num)-1:-1]:
print(num)
checkNum(777777)

最佳答案

你弄错了切片。字符串的左侧部分应该像这样切片:num[:4],右侧部分应该像这样切片:num[:-5:-1]
编辑评论:
您始终可以打印您尝试在函数中使用的切片。要解决这个问题,请使用比 777777 更直观的东西。例如:123456789。然后,如果您在函数中打印切片,您将看到正在比较的字符串:

def checkNum(i):
num = str(i)
print(num[-4:])
print(num[-4::-1])
print(num[-5:-1])
checkNum(123456789)

你会得到的输出是:

6789
654321
9876

这显示了切片的工作方式。当您使用负索引时,您是从末尾开始的正步长,因此 num[-4:] 返回原始顺序中的最后 4 个字符。负步骤返回第一个字符反转。考虑一些手动测试,它确实节省了很多时间。

关于python - 如果向前的前 4 位数字等于向后的最后 4 位数字,则检查数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813137/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com