如何将单个元素从用户输入追加到numpy数组,最好是浮点值。我下面写的代码每次打印出一个空数组,我很难理解为什么没有附加任何内容。
import numpy as np
start=0
start_prompt = int(input("Start press 1"))
while start_prompt > start:
x=np.array([])
y = float(input("Please input number: "))
if y > 0:
np.append(x,y)
print(x)
答案 0 :(得分:0)
你必须改变阵列,对吗?你必须把它写成:
x = np.append(x, y)
>>> while start_prompt > start:
... x=np.array([])
... y = float(input("Please input number: "))
... if y > 0:
... x = np.append(x, y)
... print(x)
此外,首先你运行的是无限循环,因为start_prompt总是大于start。你在循环中创建了你的x数组,它将在每次迭代时重新初始化。如果你希望它按预期工作,那么在while循环之外声明它。其次,有很多更好的方法来做你想做的事情。
答案 1 :(得分:0)
非常感谢您的回复。我已经采取了你的建议并经历了一些试验和错误的所有建议,并让它按照我的意图工作,所以非常感谢所有的评论者。这是有效的代码(希望在复制和粘贴期间没有错误)
def get_user_values1(x):
x = np.array([])
initial = float(input("Input the cup weight in grams:"))
while initial <= 0:
#print ("Invalid")
initial = float(input("Input the cup weight in grams:"))
x=np.append(x,initial)
else:
x=np.append(x,initial)
return (x)
def main():
x = np.array([])
start = 1 #1 = yes stasrt script
start_prompt = int(input("To start press 1, To Close press 0: "))
while start_prompt == start:
get_user1 = get_user_values1 (x)
x = np.append(x,get_user1)
main()