Maynnnn 2020-11-05 21:22 采纳率: 50%
浏览 113
已采纳

Python, 请大神帮我看下,怎样做才能在执行完一个if语句后不退出程序,而是回到我写的菜单?

import sys
import numpy as np
from functions import *

print("|",format("\033[1;36m  Welcome to Bacteria Analyzing \033[0m","*^60"),"|")
print("\n Please select the action you want to take:")
print("\n 1. Load data")
print("\n 2. Filter data")
print("\n 3. Diaplay statistics")
print("\n 4. Generate plots")
print("\n 5. Quit")
    
user_option=int(input("The action you want to take: "))

data = np.loadtxt("valid_data.txt")



def filter_data():
        global bacteria
        bacteria=int(input("What kind of bacteria you want to analise? (Type in NA if you don't want to filter bacteria)  "))
        global groRate_l
        groRate_l=float(input("lower limit: "))
        global groRate_h
        groRate_h=float(input("higner limit: "))
        print(("The bacteria you want to check is""\033[1;35m {0}\033[0m").format(bacteria))
        print(("The growth range you want to check is ""\033[1;35m[{:f},{:f}]\033[0m").format(groRate_l,groRate_h))
        
        global data_f
        data_f=data[((data[:,1]>groRate_l) & (data[:,1]<groRate_h) & (data[:,2]==bacteria))]


if user_option==1:
    try:
        file_name=str(input("Pease enter your file's name: "))
        dataLoad(file_name)
    except:
        print("\033[1;31m File not found, plesae check your spelling.\033[0m")
        
if user_option==2:
    filter_data()

if user_option==3:
    statistic = str(input("which statistic you want to perform? "))
    dataStatistics(data_f, statistic)
    

if user_option==5:
    print("Thank you for using, bye~")
    sys.exit()
  

还有怎么样定义一个全局变量:

  • 写回答

1条回答 默认 最新

  • PythonJavaC++go 2020-11-06 01:32
    关注
    import sys
    import numpy as np
    from functions import *
     
    print("|",format("\033[1;36m  Welcome to Bacteria Analyzing \033[0m","*^60"),"|")
    print("\n Please select the action you want to take:")
    print("\n 1. Load data")
    print("\n 2. Filter data")
    print("\n 3. Diaplay statistics")
    print("\n 4. Generate plots")
    print("\n 5. Quit")
        
    user_option=int(input("The action you want to take: "))
     
    data = np.loadtxt("valid_data.txt")
     
     
     
    def filter_data():
            global bacteria
            bacteria=int(input("What kind of bacteria you want to analise? (Type in NA if you don't want to filter bacteria)  "))
            global groRate_l
            groRate_l=float(input("lower limit: "))
            global groRate_h
            groRate_h=float(input("higner limit: "))
            print(("The bacteria you want to check is""\033[1;35m {0}\033[0m").format(bacteria))
            print(("The growth range you want to check is ""\033[1;35m[{:f},{:f}]\033[0m").format(groRate_l,groRate_h))
            
            global data_f
            data_f=data[((data[:,1]>groRate_l) & (data[:,1]<groRate_h) & (data[:,2]==bacteria))]
     
    while True:
    	if user_option == 1:
    		try:
    			file_name = str(input("Pease enter your file's name: "))
    			dataLoad(file_name)
    		except:
    			print("\033[1;31m File not found, plesae check your spelling.\033[0m")
    	
    	if user_option == 2:
    		filter_data()
    	
    	if user_option == 3:
    		statistic = str(input("which statistic you want to perform? "))
    		dataStatistics(data_f, statistic)
    	
    	if user_option == 5:
    		print("Thank you for using, bye~")
    		sys.exit()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路