Python如何实现删除链接后再次询问用户是否移除更多链接
解决方案
核心思路
要实现删除后重复询问的需求,只需要用while循环包裹「询问是否删除→执行删除」的逻辑即可,同时对原代码做了几处必要修正:
- 补充缺失的
links列表初始值定义,原代码未定义该变量会直接运行报错,你可以替换成自己的实际链接列表 - 修正了用内置关键字
list作为变量名的问题,避免覆盖Python内置功能 - 增加了链接存在性判断,避免用户输入不存在的链接时程序直接崩溃
- 非法输入不会直接退出,会提示用户重新输入
完整修改后代码
import sys # 请替换成你自己的实际链接列表,这里是示例初始值 links = ["https://example1.com", "https://example2.com", "https://example3.com"] def remove_links(): str_to_remove = input("Enter the link you want to remove: ") # 先判断链接是否存在,避免删除不存在的内容报错 if str_to_remove in links: links.remove(str_to_remove) print("The list after removal : " + str(links)) print("当前列表剩余链接数:", len(links)) else: print("你输入的链接不在当前列表中,请检查后重试") # 首次打印原始列表 print("The list of links are : " + str(links)) print("当前列表总链接数:", len(links)) yesChoice = ['yes', 'y'] noChoice = ['no', 'n'] # 用while循环实现重复询问 while True: choice = input("Do you want to remove some/any links? (y/N) ").lower() if choice in yesChoice: remove_links() elif choice in noChoice: sys.exit("User doesn't want to make any modifications.") else: print("Invalid input, please enter y/yes or n/no")
关键逻辑说明
while True会开启无限循环,每次删除操作完成后会自动回到询问是否继续删除的步骤- 只有用户输入
n/no的时候才会触发退出逻辑,符合需求 - 新增的存在性判断可以避免程序因用户输入错误直接崩溃,兼容性更好
内容的提问来源于stack exchange,提问作者Raspberry Lemon
相关产品推荐
相关产品推荐

