我创建了一个数据分析应用程序,为用户提供了许多可供选择的选项。每个选项都以可视化结束。我已经包含了一个while循环来允许用户重复查询,但是这些图不会按照我希望程序继续的顺序生成。这是一个例子:
import numpy as np
import os
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
from matplotlib import style
style.use("ggplot")
def main():
series1 = pd.Series(np.random.randn(5))
series2 = pd.Series(np.random.randn(5))
df = pd.concat([series1, series2], axis = 1)
df.columns = ["X", "Y"]
back2menu = "y"
while back2menu == "y":
choice = input("Choose option 1 or 2:\n1.) Y against X\n2.) X against Y")
if choice == 1:
plt.scatter(df.X, df.Y)
plt.show()
back2menu = raw_input("Return to main menu? (y/n)")
elif choice == 2:
plt.scatter(df.Y, df.X)
plt.show()
back2menu = raw_input("Return to main menu? (y/n)")
else:
print("Application closing.")
一切运行正常,但在询问用户是否想要返回主菜单之前,情节不会生成。只有当程序退出时,情节才会显示出来。理想情况下,我想要弹出的图表然后返回菜单提示。我该如何管理?
提前致谢。
答案 0 :(得分:1)
看起来你正在测试'选择'是错误的类型。来自'input()'的输入被解析为str。我修改了选择案例以针对str进行测试,这解决了这个问题。
e.g。
if choice == '1':
--code--
elif choice == '2':
--more code--
...