【问题标题】:Python main function dealing with true and false [closed]处理真假的Python主函数[关闭]
【发布时间】:2013-02-22 05:24:51
【问题描述】:

所以这是我的作业,但我真的不知道如何做一步。在main() 函数的最后一步,我想根据返回的值报告数字是否为回文通过 isPalindrome 函数。我真的不知道如何做到这一点,所以请大家帮忙。谢谢

这是我目前得到的。

# Write code that reverses the number and then returns the reversed number. 

def reverse(number):
     reverse=0
     while number>0:
        reverse = reverse * 10 + number % 10
        number=number//10
        return reverse

#Write code that call the reverse function,processes the value returned by the reverse function and returns True if the number is a palindrome.It will return False if number is not a palindrome.

def isPalindrome(number):
    if number == reverse:
        return True
    else:
        return False

#Write code to prompt the user to enter an integer, calls the isPalindrome function and (depending on the value returned by the isPalindrome function) reports if the number is a palindrome or not.

def main():
    number=int(input("enter number: "))

main()

所以我基本上停留在最后一部分

【问题讨论】:

  • 怎么了?你想在你的number变量上调用isPalindrome,并检查它是否返回TrueFalse,并相应地通知用户,对吧?
  • 在main中调用ispalindrome函数并打印返回状态
  • 抱歉忘了说输出应该是这样的 示例输出 输入数字:222 数字是回文。另一个示例输出:输入一个数字:456 该数字不是回文。
  • 你退出 while 循环太快了

标签: python function main


【解决方案1】:

要在 Python 中调用函数,请编写函数名称并添加左括号和右括号。如果函数接受任何参数,请将参数添加到括号中。要保存返回值,请将函数调用分配给一个变量(在 Python 中称为 name)。

例如:

def foo(user):
   return 'Hello %s' % user

result = foo('Jett')
print result

上面的代码在执行时会打印Hello Jett

【讨论】:

    【解决方案2】:

    确保您调用 yourreverse 函数!

    def is_palindrome(number):
        return number == reverse(number)
    

    main 你应该有这样的东西:

    def main():
        number = int(input("enter number: "))
        if is_palindrome(number):
            print(...)   # Fill in the dots
        else:
            print(...)   # Fill in the dots
    

    【讨论】:

      【解决方案3】:

      你的reverse函数一定是这样的

      def reverse(number):
           reverse=''
           while number>0:
              reverse = reverse + str(number % 10)
              number=number//10
           return reverse
      

      isPalindrome 中,您必须比较字符串,因为50 将是05,如果您将其转换为整数,那么它将仅是5,您无法比较505

      def isPalindrome(number):
          if str(number) == reverse(number):
              return True
          else:
              return False
      

      那么你的函数就可以工作了。

      【讨论】:

      • 确实非常感谢你。感谢所有回答这个问题的人。你们回答得真快:)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多