思考
针对python中for循环的问题,又因为比较时需要取原字符串和反转字符串的值,所以我想到了用函数生成器的办法
代码2
string=input("请输入数字: ") string_length=len(string) string_reverse=string[::-1] count=0 def get1(str): for i in str: yield i def get2(str): for j in str: yield j while count<string_length: f1=get1(string) f2=get2(string_reverse) f1.__next__() f2.__next__() if f1.__next__() != f2.__next__(): print(f"{string}不是回文数") exit() count=count+1 print(f"{string}是回文数")
疑问:pycharm上测试并无问题 ,但leetcode测试有问题
代码一二次调试
针对代码一上次的问题,我发现break是直接结束内层循环,所以再次来到内层循环就会重置。
string = input("请输入数字: ") string_length = len(string) string_reverse = string[::-1] for i in string: for j in string_reverse: if int(i) != int(j): print(f"{string}不是回文数") exit() print(f"{string}是回文数")
疑问:pycharm上测试并无问题 ,但leetcode测试有问题