gpt4 book ai didi

python - 将参数作为用户输入的函数

转载 作者:行者123 更新时间:2023-12-01 09:00:30 25 4
gpt4 key购买 nike

我正在尝试编写一个程序,该程序接受用户的 2 个输入。

  1. 包含数组的文本文件的位置
  2. 数组中的一列。

然后我想从数组中提取该列,并使用我自己的模块统计信息对其执行函数。

我尝试设置一个变量,即,

def arcol(fname, i):
data = np.loadtxt(fname, usecols=i)
return data

在函数中,但它不喜欢设置明显的字符串 usecols

这是我的代码,错误是 print() 中的变量未定义。

import numpy as np
import stats as st

def setInput1():
fname = input("Please enter file location/path:")
return fname

def setInput2():
i = input("Please enter the desired column in the array:")
return i

def arcol(fname, i):
return np.loadtxt(fname, usecols= i)

print(st.mean(arcol(fname, i)))

最佳答案

看来您的问题是您从未调用 setInputN 函数。仅仅定义一个函数并没有做任何有用的事情,你必须调用它来获取它的返回值。我想你想要这样的东西:

print(st.mean(arcol(setInput1(), setInput2())))

我没有测试您的代码,因此可能存在更多错误,例如输入数据类型的问题(如所写,两个函数都会返回字符串,但您用作 arcol 的第二个参数的值可能会需要是一个数字)。

为您的函数选择更好的名称也是一个好主意。 setInputN 函数都没有描述性名称。 arcol 可能好一点,但它太缩写了,对于我这个对它的作用一无所知的人来说,它实际上没有任何意义。

我还想知道 setInputN 函数是否真的需要,因为它们非常短,并且可能不会从多个地方调用。您可以通过直接调用 input 来替换对每个函数的调用。

关于python - 将参数作为用户输入的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52489618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com