Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
而python中的循环并没有按照我所希望的方式工作_Python_Validation_While Loop - Fatal编程技术网

而python中的循环并没有按照我所希望的方式工作

而python中的循环并没有按照我所希望的方式工作,python,validation,while-loop,Python,Validation,While Loop,我已经创建了执行条件验证语句的代码。我有一个菜单,提示用户输入一个介于1-3之间的数字,如果用户按下除这3个数字之外的任何数字,它会告诉用户一条错误消息,并再次循环菜单语句,直到满足条件。这是我的密码 from flask import Flask, request, jsonify, make_response, abort import mysql.connector from mysql.connector import Error import myfunctions import da

我已经创建了执行条件验证语句的代码。我有一个菜单,提示用户输入一个介于1-3之间的数字,如果用户按下除这3个数字之外的任何数字,它会告诉用户一条错误消息,并再次循环菜单语句,直到满足条件。这是我的密码

from flask import Flask, request, jsonify, make_response, abort
import mysql.connector
from mysql.connector import Error
import myfunctions
import datetime
from myfunctions import create_connection, execute_query, execute_read_query, connection
from friend_insert import friend_insert
from movie_insert import movie_insert
from friend_delete import friend_delete
from random_movie import random_movie

while True:
    print("Press 1 To Add Friend Information")
    print("Press 2 To Add Up To 10 Movies Per Friend")
    print('Press 3 To Select Who Participates And Generate A Random Movie')
    choice = int(input())


    if choice == 1:
        friend_insert()
    if choice == 2:
        movie_insert()
    if choice == 3:
        friend_delete()
        random_movie()
        break
    
if choice != 1 and 2 and 3:
    print("Please Try Again")

循环有效。但是,它没有显示错误消息“请重试”。这是为什么?

它不起作用的原因是最后一个if语句不在while循环中!另外,我建议稍微改变一下if语句的格式。下面是您已更正的while循环:

while True:
    print("Press 1 To Add Friend Information")
    print("Press 2 To Add Up To 10 Movies Per Friend")
    print('Press 3 To Select Who Participates And Generate A Random Movie')
    choice = int(input())


    if choice == 1:
        friend_insert()
    elif choice == 2:
        movie_insert()
    elif choice == 3:
        friend_delete()
        random_movie()
        break
    else:
        print("Please Try Again")

这将消除格式错误的
if选项!=1、2和3
。如果你真的想做那样的事情,你必须做
If(choice!=1和choice!=2)和choice!=3
;然而,else语句要优雅得多。

它不起作用的原因是最后一个if语句不在while循环中!另外,我建议稍微改变一下if语句的格式。下面是您已更正的while循环:

while True:
    print("Press 1 To Add Friend Information")
    print("Press 2 To Add Up To 10 Movies Per Friend")
    print('Press 3 To Select Who Participates And Generate A Random Movie')
    choice = int(input())


    if choice == 1:
        friend_insert()
    elif choice == 2:
        movie_insert()
    elif choice == 3:
        friend_delete()
        random_movie()
        break
    else:
        print("Please Try Again")

这将消除格式错误的
if选项!=1、2和3
。如果你真的想做那样的事情,你必须做
If(choice!=1和choice!=2)和choice!=3
;然而,else语句要优雅得多。

它不显示,因为它在循环之外。当您修复它时,您会注意到它将打印消息,即使选择=2或3。@NicholasHunter这是因为最后一个if语句的格式错误。请参阅我的答案以进行简化。相关:欢迎使用SO。请阅读。然后看看你的例子——你的例子中有没有与你的问题无关的东西?或者我们需要它来重现问题?它没有显示,因为它在循环之外。当您修复它时,您会注意到它将打印消息,即使选择=2或3。@NicholasHunter,这是因为最后一个if语句的格式错误。请参阅我的答案以进行简化。相关:欢迎使用SO。请阅读。然后看看你的例子——你的例子中有没有与你的问题无关的东西?或者我们需要复制这个问题?好的,它是有效的!现在我有另一个问题。我创建了一个flask应用程序,它将在执行该菜单后运行,但在应用程序运行后,它将返回到menu@kielp2这超出了这个问题的范围。我建议再问一个。既然我的回答帮助了你,请考虑接受它吧!好的,它起作用了!现在我有另一个问题。我创建了一个flask应用程序,它将在执行该菜单后运行,但在应用程序运行后,它将返回到menu@kielp2这超出了这个问题的范围。我建议再问一个。既然我的回答帮助了你,请考虑接受它吧!