【问题标题】:How do I define a function for this exercise in Python?我如何在 Python 中为这个练习定义一个函数?
【发布时间】:2023-02-13 22:22:35
【问题描述】:

我试图创建一个没有 Python 经验的函数,这是我在网站上找到的一个练习,这就是练习:

“Timmy 和 Sarah 认为他们相爱了,但在他们居住的地方,他们只有在各自摘一朵花后才会知道。如果其中一朵花的花瓣数量是偶数,另一朵花的花瓣数量是奇数,则意味着他们在恋爱。

编写一个函数,获取每朵花的花瓣数,如果相爱则返回 true,否则返回 false。”

我尝试了一切并经历了很多错误,但最后它没有用

flower1 = input("Number of petals in the first flower: ")
flower2 = input("Number of petals in the second flower: ")

def lovefunc( flower1, flower2 ):
    
    flower1 = int(flower1)
    flower2 = int(flower2)
    
    lovetest = flower1 + flower2
    lovetest /= 2
    if isinstance(lovetest, float): lovetest = "yes"
    else: lovetest = "no"
    
    for lovetest in "yes": print ("You are in love")
    else: print ("You aren't in love")
    
print(lovefunc(flower1, flower2))

输入并不重要,这始终是输出:

你在恋爱 你在恋爱 你在恋爱 你没有恋爱 没有任何

我做错了什么?

【问题讨论】:

  • 当你划分时,你总是会得到一个浮点数。
  • 如果前面没有“if”,则不能使用“else”
  • 这回答了你的问题了吗? Check if a number is odd or even in Python
  • @Sergio2405 Python 确实有 for/else
  • @Sergio2405 else 可以与 for 循环一起使用,如果循环没有遇到 break 语句,它将作为最后一步执行。

标签: python python-3.x


【解决方案1】:

怎么了

def lovefunc(flower1, flower2):
    if (flower1 + flower2) % 2 == 1:
        print("You are in love")
    else:
        print("You aren't in love")

除法的结果总是一个浮点数,之后你会遇到一些混乱的情况,这就是你得到这个输出的原因。

【讨论】:

  • 它起作用了,但现在输出是:你没有恋爱 无
猜你喜欢
  • 1970-01-01
  • 2022-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-10
  • 1970-01-01
  • 2013-01-13
相关资源
最近更新 更多