好的,所以你犯了一些错误(很明显),没什么大不了的,每个人都得开始学习。

最大的问题是你进入菜单循环(你有第二个while循环),但从不做任何事情来退出它。我还评论了其他一些变化。我不是100%确定你在某些地方做什么...但是...

我认为this is what you were going for though,我评论了这些变化。有一些奇怪的东西,我只是留下,因为我认为这是意图。

def menu():

mode = input("""Choose options:\n

a) Test1 Calls logged() function

b) Test2

Enter the letter to select mode\n

> """)

return mode

def test1():

print("Test1")

logged()

def test2():

print("Test2")

def logged(): #Logged menu is supposed to run through a while loop and not break out when reached.

print("----------------------------------------------------------------------\n")

print("Welcome user. ")

modea = input("""Below are the options you can choose:\n

1) Function1

2) Function2

3) Function3

4) Exit

\n

Enter the corresponding number

> """).strip()

return modea

def funct1(): #EXAMPLE FUNCTIONS

print("Welcome to funct1")

def funct2():

print("Welcome to funct2")

def funct3():

print("Welcome to funct3")

#Main routine

validintro = False # I like it this way

while not validintro:

name = input("Hello user, what is your name?: ")

if len(name) < 1:

print("Please enter a name: ")

elif len(name) > 30:

print("Please enter a name no more than 30 characters: ")

else:

validintro = True

print("Welcome to the test program {}.".format(name))

#The main routine

validintro = False # need a way out

while not validintro:

chosen_option = menu() #a custom variable is created that puts the menu function into the while loop

validintro = True # start thinking we're okay

if chosen_option in ["a", "A"]:

test1() # you're calling this, which calls the logged thing, but you do nothing with it

# I just left it because I figured that's what you wanted

elif chosen_option in ["b", "B"]: # You want an elif here

test2()

else:

print("""That was not a valid option, please try again:\n """)

validintro = False # proven otherwise

validintro = False

while not validintro:

validintro = True

option = logged()

print(option)

if option == "1":

funct1()

elif option == "2":

funct2()

elif option == "3":

funct3()

elif option == "4":

break

else:

print("That was not a valid option, please try again: ")

validintro = False

print("Goodbye")

python while函数_Python:无法在while循环中调用函数相关推荐

  1. matlab循环中调用函数,MATLAB循环和函数定义,调用

    格式不要括号,最后有end for 循环变量 = 表达式1:表 2:表 3 表1:初值     表2:步长      表3:终值 求圆周率:π/4=1 - 1/3 + 1/5 -1/7+...+(-1 ...

  2. php 函数内临时变量,在PHP中调用函数时使用临时变量

    我觉得你被这么多"浪费"深深震撼. 保持冷静,使用变量没什么不好,你应该经常使用它们.它们通常会使您的代码更具描述性,甚至更快. 这里的描述部分就是更具描述性的部分,如果你查看那一 ...

  3. c语言main调用函数,c语言 如何在main中调用函数

    #include int main(){ char f; float d = 0; float i = 0;float y = 0;//定义两个用于储存输入数值的函数 printf("输入计 ...

  4. range函数python循环次数查询_python进阶教程之循环相关函数range、enumerate、zip

    在"循环"一节,我们已经讨论了Python基本的循环语法.这一节,我们将接触更加灵活的循环方式. range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用 ...

  5. JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析

    JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析 业务分析 初版的问题 解决方案 传统的 for 循环 不使用 for 循环的解决方案 分析 forEach ...

  6. Python如何在main中调用函数内的函数

    Python如何在main中调用函数内的函数 一般在Python中在函数中定义的函数是不能直接调用的,但是如果要用的话怎么办呢? 一般情况下: def a():#第一层函数def b():#第二层函数 ...

  7. Mysql过长的Sql语句优化:在循环中调用存储过程运行动态语句

    在批量查询的时候,有时为了提高检索效率,会使用Unique配合IN查询.此时注意IN中不要写子查询,否则时间复杂度会大大增加.不过对于已经确定的检索范围,如果有Unique索引,效率还是可以的. 但有 ...

  8. 微信小程序 在for循环中调用wx.request异步请求数据

    场景:渲染一个聊天列表,按消息往来时间排序. 在for循环中调用wx.request,开始在把整个for包装成一个Promise,然后发现request就是异步的,多次请求回来的数据在for循环里就出 ...

  9. java for 最后_Java的for循环中调用了查询服务,最后只打印了循环的最后一条数据(循环次数)次...

    问题描述 1.首先我查询了出来一个对象集合(包含1和2俩个对象) 2.利用上面集合中的某数据循环查询下一个表中的数据.(也就是for循环中调用了查询方法,返回一个对象) 3.在循环体中我需要用到第一次 ...

  10. concat函数_三、P57-61 MySQL中常用函数

    本部分主要讲解MySQL数据库中常用函数的使用. P57 SQL中的函数类型:字符串函数.数值函数.日期和时间函数.流程函数.其他常用函数: P58 第1部分:字符串函数 1.concat函数 con ...

最新文章

  1. 关于组织参加2021年全国大学生 智能汽车竞赛东北赛区比赛的报名通知
  2. 【Android 异步操作】手写 Handler ( 消息队列 MessageQueue | 消息保存到链表 | 从链表中获取消息 )
  3. idea的debug调试
  4. Tensorflow源码解析3 -- TensorFlow核心对象 - Graph
  5. JAVA中Final的用法
  6. LeetCode 475. Heaters
  7. mac下搭建lua环境
  8. jqueryui的Tooltip使用方法
  9. ASP.NET MVC 3 Beta: Built-in support for charts(MVC3 Razor中使用图表的最佳方案)
  10. C#创建无数据源水晶报表极简教程
  11. Windows Internet Explorer 7 正式发布
  12. SpringBoot + MyBaties 实现其XML方式
  13. datagrid---formatter方法
  14. 5G无线技术基础自学系列 | 5G基站形态演进
  15. 机器人操作系统ROS—深度相机+激光雷达实现vSLAM建图与导航
  16. marlin 多轴电机驱动
  17. 利普希茨连续(Lipschitz continuity)和利普希茨常数(Lipschitz constant)
  18. linux下socket编程常用头文件
  19. 手机Web前端调试页面之——Chrome DevTools(谷歌浏览器)的模拟手机调试
  20. 7.3—查找—Sear a 2D Matrix

热门文章

  1. PowerDesigner16工具学习笔记-建立CDM
  2. [深入React] 8.refs
  3. Oracle行转列实例
  4. 同时大量连接导致的DDOS攻击,导致收发器宕机,用户大面积超时掉线
  5. 【学堂在线数据挖掘:理论方法笔记】第八天(4.2)
  6. 【Git/Github学习笔记】Github私钥的问题
  7. 【linux系统学习笔记】运行startx后Ubuntu密码正确进不去的问题
  8. 近年来,学习图像去雾不得不看的论文和源代码
  9. 【Matlab学习笔记】【编程实例】一(将两幅图像调整为相同的尺寸大小)
  10. 7个优秀的境外程序员博客