我有一个代码,可以根据用户输入的值以不同的颜色绘制点,但是我想创建一个if / else类型的语句,如果用户不知道所需的值,则将以一种颜色绘制图形。该代码可以在下面看到:
test = []
start = 0
end = int(input("How many non primary sources do you have?\n(If you do not know this value please enter x:)")) - 1
if end == x:
end == len(test)
start2 = 0
end2 = len(test)
plt.scatter(Alpha[start:end], Beta[start:end], color=['green'])
plt.scatter(Alpha[start2:end2], Beta[start2:end2], color=['red'])
plt.show()
else:
start2 = end + 1
end2= len(test) - 1
plt.scatter(Alpha[start:end], Beta[start:end], color=['green'], marker = '+', label = 'Non primary source')
plt.scatter(Alpha[start2:end2], Beta[start2:end2], color=['red'], marker = '*', label = 'Primary source')
plt.legend()
plt.show()
在此之前,有很多代码我剪掉了,因为它们不需要了,但还是有一种方法可以允许用户输入数字和字符串,以便在输入时不知道他们有多少个主源可以键入“ x”并且代码不会崩溃?
答案 0 :(得分:1)
让它们输入0或-1表示未知值。 或者,您将输入作为字符串并检查其x是否为x的首字母,如果不是,则尝试将其强制转换为int。
end = input("How many non primary sources do you have?\n(If you do not know this value please enter x:)")
if end =="x":
#plot with one color
else:
try:
end_int=int(end)
#plot with more colors
except ValueError:
#catch input that is neither x nor an int