pallas 发表于 2021-10-15 14:25:26

求助大佬这个关于 Palindrome Number (Python)的问题

题目:
Given an integer x, return true if x is palindrome integer.
An integer is a palindrome when it reads the same backward as forword.
求助这个代码的问题和这个代码的意思
代码:
num1 = input("请输入数字x:")
      x = int(num1)


      class Solution:
            def isPalindrome(self, x: int) -> bool:
                if x < 0: return False
                str_x = str(x)
                if len(str_x) == 1: return True
                for t in range(int(len(str_x) / 2)):
                  if str_x != str_x[-1 - t]:
                        return False
                return True

傻眼貓咪 发表于 2021-10-15 16:12:05

题目:
给定一个整数 x,并返回真(True)假设 x 是回文整数。当一个整数向后与前向相同,则表示回文(如:1234321)

你的代码解说:num1 = input("请输入数字x:") # 输入 x
x = int(num1) # 整数 x(因为默认输入值都是字符串,这里将字符串变成整数)


class Solution: # 定义解题类(这应该是力扣回传答案方式吧?你是从力扣哪里复制吧?)
    def isPalindrome(self, x: int) -> bool: # 定义函数,参数是整型,返回值是布林值
      if x < 0: return False # 当 x 小于 0 则返回假(False)
      str_x = str(x) # 定义新字符串 str_x
      if len(str_x) == 1: return True # 假设字符串 str_x 长度为 1,则返回真(True)
      for t in range(int(len(str_x) / 2)): # for 循环语句:循环至 str_x 的一半便可(因为只要测试前半段和后半段是否相同,所以只要一半)
            if str_x != str_x[-1 - t]: # 假设出现向前和向后字符不一样,则返回假(False)
                return False
      return True # 检查完毕,向前和向后完全没有出现不一样的情况,则输出真(True)

pallas 发表于 2021-10-16 13:30:29

傻眼貓咪 发表于 2021-10-15 16:12
题目:
给定一个整数 x,并返回真(True)假设 x 是回文整数。当一个整数向后与前向相同,则表示回文(如 ...

为什么,没有返回的值呢?

傻眼貓咪 发表于 2021-10-16 13:36:08

pallas 发表于 2021-10-16 13:30
为什么,没有返回的值呢?

可能你的代码有错吧,因为你只要我们解说题目问题,和你的代码意思

pallas 发表于 2021-10-16 13:38:37

傻眼貓咪 发表于 2021-10-16 13:36
可能你的代码有错吧,因为你只要我们解说题目问题,和你的代码意思

我就是求助这个代码的问题和代码的意思,应该是我表述不是太清楚

傻眼貓咪 发表于 2021-10-16 14:02:50

pallas 发表于 2021-10-16 13:30
为什么,没有返回的值呢?

请问你的图片里,请选择项目是......?

如果你这是想单纯运用代码,不是交题(力扣或其他网页习题),只需复制其中几段代码便可,不用全抄,如:
def isPalindrome(x: int) -> bool: # 定义函数,参数是整型,返回值是布林值
        if x < 0: return False # 当 x 小于 0 则返回假(False)
        str_x = str(x) # 定义新字符串 str_x
        if len(str_x) == 1: return True # 假设字符串 str_x 长度为 1,则返回真(True)
        for t in range(int(len(str_x) / 2)): # for 循环语句:循环至 str_x 的一半便可(因为只要测试前半段和后半段是否相同,所以只要一半)
                if str_x != str_x[-1 - t]: # 假设出现向前和向后字符不一样,则返回假(False)
                        return False
        return True # 检查完毕,向前和向后完全没有出现不一样的情况,则输出真(True)

num1 = input("请输入数字x:") # 输入 x
x = int(num1) # 整数 x(因为默认输入值都是字符串,这里将字符串变成整数)
print(isPalindrome(x))请输入数字x:123456
False

请输入数字x:23132
True以上代码我已经帮你取出重点部分,执行没有问题
页: [1]
查看完整版本: 求助大佬这个关于 Palindrome Number (Python)的问题