如何从用户输入中打印功能?

时间:2018-07-29 05:30:52

标签: python function

我还是python的新手,如果这个问题看起来很愚蠢,请原谅我。我需要我的代码来处理用户输入。我原本希望系统提示用户输入以完成代码,但是运行代码时,我得到一个空白终端,没有错误或其他信息。 这是代码:

def minutes_to_hours(name):
    minutes = input("Insert minutes here: ")
    hours = minutes / 60
    return hours
    print(hours)

这是输出:

Adwoks-MacBook-Pro:Python Adwok$ python3 myfunction.py

6 个答案:

答案 0 :(得分:1)

您没有调用函数,需要使用result = minutes_to_hours(name)调用函数。

此外,由于它位于return语句之后,因此不会打印出hours。这些应该是相反的。

注意:您可以从函数中删除参数name,因为您没有在函数中使用它。

答案 1 :(得分:0)

尝试运行此程序。在这种情况下,不需要功能。

minutes = input("Insert minutes here: ")
hours = float(minutes) / 60
print(hours)

答案 2 :(得分:0)

正如Aidan Rosswood所说,您仅定义函数。而且该功能似乎不起作用,请重新访问,

def minutes_to_hours():
  minutes = input("Insert minutes here: ")
  hours = minutes / 60
  print(hours)    
  return hours

现在,按需要调用函数

minutes_to_hours()

答案 3 :(得分:0)

您已经定义了函数,但尚未调用它。试试这个

def minutes_to_hours(min):
    hours = min / 60
    return hours

minutes = float(input("Insert minutes here: "))
hours = minutes_to_hours(minutes)
print(hours)

您也可以使用单线。

print(float(input('Insert minutes here: ')) / 60)

答案 4 :(得分:0)

def minutes_to_hours():
    minutes = input("Insert minutes here: ")
    minutes1 = int(minutes)
    hours = minutes1 / 60
    print(hours)

minutes_to_hours()

删除名称并调用函数

答案 5 :(得分:0)

1。。您已经给出了函数定义,但并未真正调用该函数。函数声明告诉python(解释器)这段代码的作用,函数调用请求执行这段代码。因此,在函数定义的末尾,您应该添加minutes_to_hours(name)

2。。您的代码不正确。首先,对函数进行清晰的抽象定义。从您编写的代码来看,您似乎不太确定该函数应该执行的操作-它应返回小时数还是应打印小时数?另外,请注意,在给定分钟数的情况下,整个程序(无论您编写了什么,函数加其他所有方法)似乎都可以打印小时数。您可以通过两种方式中的任何一种来实现您的功能。

如果函数应返回小时数,则代码应如下所示,并纠正了错误:

def minutes_to_hours():
# input returns string, you should explicitly cast it to int/float
    minutes = int(input("Insert minutes here: "))
    hours = minutes / 60
    return hours

hours = minutes_to_hours()
print(hours)

请注意,如果您要从用户内部输入功能本身,则无需传递任何参数即可从分钟获取小时数。

此外,一旦执行return()语句,控件就会返回到进行函数调用的位置。因此,在您的代码中,print()语句永远不会像在return()之后那样执行。

但是,如果您想打印小时数而不返回它,则代码应如下所示:

def minutes_to_hours():
    # input returns string, you should explicitly cast it to int/float
        minutes = int(input("Insert minutes here: "))
        hours = minutes / 60
        print(hours)

    minutes_to_hours()

请注意,由于没有从函数返回任何值,因此在函数调用之前我没有任何赋值运算符(我没有任何返回值要存储在变量中,因此做类似{{1} },在这种情况下,小时数将为hours = minutes_to_hours

如果您仍然希望函数打印并返回None的值,则应该按以下顺序进行操作:

hours

但是,如果您的程序(函数+代码的其余部分)应该打印小时数,则并不需要这样做,可以通过一种方式来实现。那为什么两者都做呢?您将使计算机在可以通过更好,更优化的方式完成的工作上发挥更大的作用。

希望可以清除它。