我试图在询问用户是否要这样做之后实现重新运行循环的可能性。在说不应再次运行循环时,循环正常停止。但是在“continue”命令之后循环不会再次启动。
我已经尝试阅读一些论坛帖子,但我觉得有点卡住了。
a = "Y"
url = input("Please enter a valid url:")
while (a == "Y"):
check_url = "https://" in url
if check_url == False:
print("Invalid url, please try again.")
url = input("Please enter a valid url:")
continue
else:
print("url enteret successfully!")
print("url:",url)
print("Is the given url correct?")
a = input("Yes/No:")
if str(a) == "Y" or str(a) == "y" or str(a) == "YES" or str(a) == "Yes" or str(a) == "yes":
break
if str(a) == "N" or str(a) == "n" or str(a) == "No" or str(a) == "NO" or str(a) == "no":
print("Please try again.")
continue
else:
print("Invalid entry. Assuming correct url is given.")
break
保持循环的条件是"Y"
,while (a == "Y")
,但是你将值改为"N"
。尝试切换不变量和起始值。
a = "N"
url = input("Please enter a valid url:")
while (a == "N"):
...
此外,如果使用break
控制语句退出循环,则实际上不需要检查值。尝试这样的事情:
while True:
url = input("Please enter a valid url:")
if "https://" not in url:
print("Invalid url, please try again.")
continue
print("url entered successfully!")
print("url:", url)
print("Is the given url correct?")
a = input("Yes/No:")
if str(a) == "Y" or str(a) == "y" or str(a) == "YES" or str(a) == "Yes" or str(a) == "yes":
break
elif str(a) == "N" or str(a) == "n" or str(a) == "No" or str(a) == "NO" or str(a) == "no":
print("Please try again.")
continue
else:
print("Invalid entry. Assuming correct url is given.")
break
你的循环不会继续,因为a不再等于'Y'。在continue语句之前添加a = "Y"
,它应该可以工作