python while函数_Python:无法在while循环中调用函数
好的,所以你犯了一些错误(很明显),没什么大不了的,每个人都得开始学习。
最大的问题是你进入菜单循环(你有第二个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循环中调用函数相关推荐
- matlab循环中调用函数,MATLAB循环和函数定义,调用
格式不要括号,最后有end for 循环变量 = 表达式1:表 2:表 3 表1:初值 表2:步长 表3:终值 求圆周率:π/4=1 - 1/3 + 1/5 -1/7+...+(-1 ...
- php 函数内临时变量,在PHP中调用函数时使用临时变量
我觉得你被这么多"浪费"深深震撼. 保持冷静,使用变量没什么不好,你应该经常使用它们.它们通常会使您的代码更具描述性,甚至更快. 这里的描述部分就是更具描述性的部分,如果你查看那一 ...
- c语言main调用函数,c语言 如何在main中调用函数
#include int main(){ char f; float d = 0; float i = 0;float y = 0;//定义两个用于储存输入数值的函数 printf("输入计 ...
- range函数python循环次数查询_python进阶教程之循环相关函数range、enumerate、zip
在"循环"一节,我们已经讨论了Python基本的循环语法.这一节,我们将接触更加灵活的循环方式. range() 在Python中,for循环后的in跟随一个序列的话,循环每次使用 ...
- JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析
JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析 业务分析 初版的问题 解决方案 传统的 for 循环 不使用 for 循环的解决方案 分析 forEach ...
- Python如何在main中调用函数内的函数
Python如何在main中调用函数内的函数 一般在Python中在函数中定义的函数是不能直接调用的,但是如果要用的话怎么办呢? 一般情况下: def a():#第一层函数def b():#第二层函数 ...
- Mysql过长的Sql语句优化:在循环中调用存储过程运行动态语句
在批量查询的时候,有时为了提高检索效率,会使用Unique配合IN查询.此时注意IN中不要写子查询,否则时间复杂度会大大增加.不过对于已经确定的检索范围,如果有Unique索引,效率还是可以的. 但有 ...
- 微信小程序 在for循环中调用wx.request异步请求数据
场景:渲染一个聊天列表,按消息往来时间排序. 在for循环中调用wx.request,开始在把整个for包装成一个Promise,然后发现request就是异步的,多次请求回来的数据在for循环里就出 ...
- java for 最后_Java的for循环中调用了查询服务,最后只打印了循环的最后一条数据(循环次数)次...
问题描述 1.首先我查询了出来一个对象集合(包含1和2俩个对象) 2.利用上面集合中的某数据循环查询下一个表中的数据.(也就是for循环中调用了查询方法,返回一个对象) 3.在循环体中我需要用到第一次 ...
- concat函数_三、P57-61 MySQL中常用函数
本部分主要讲解MySQL数据库中常用函数的使用. P57 SQL中的函数类型:字符串函数.数值函数.日期和时间函数.流程函数.其他常用函数: P58 第1部分:字符串函数 1.concat函数 con ...
最新文章
- 关于组织参加2021年全国大学生 智能汽车竞赛东北赛区比赛的报名通知
- 【Android 异步操作】手写 Handler ( 消息队列 MessageQueue | 消息保存到链表 | 从链表中获取消息 )
- idea的debug调试
- Tensorflow源码解析3 -- TensorFlow核心对象 - Graph
- JAVA中Final的用法
- LeetCode 475. Heaters
- mac下搭建lua环境
- jqueryui的Tooltip使用方法
- ASP.NET MVC 3 Beta: Built-in support for charts(MVC3 Razor中使用图表的最佳方案)
- C#创建无数据源水晶报表极简教程
- Windows Internet Explorer 7 正式发布
- SpringBoot + MyBaties 实现其XML方式
- datagrid---formatter方法
- 5G无线技术基础自学系列 | 5G基站形态演进
- 机器人操作系统ROS—深度相机+激光雷达实现vSLAM建图与导航
- marlin 多轴电机驱动
- 利普希茨连续(Lipschitz continuity)和利普希茨常数(Lipschitz constant)
- linux下socket编程常用头文件
- 手机Web前端调试页面之——Chrome DevTools(谷歌浏览器)的模拟手机调试
- 7.3—查找—Sear a 2D Matrix