mardizhang 2022-02-23 22:54 采纳率: 100%
浏览 29
已结题

自学python从入门到实践第二版中,关于 练习题10-5 自己编写程序 无法运行成功

问题遇到的现象和发生背景

编写一个while循环,询问用户为何喜欢编程。每当用户输入一个原因后,都将其添加到一个存储所有原因的文件中

reason2_file ='reason2.txt'
reasons = []
while True:
reason = input('你为什么喜欢编程?\n')
reasons.append(reason)

controll_poll = input('你想让下一个人参与吗?(Y/N)')
if controll_poll != 'Y':
    break
else:
    with open(reason2_file,'a') as f:
        for reason in reasons:
            f.write(reason)

运行之后,无法将reasons写入到 txt中是为啥呢?整体逻辑感觉没啥问题啊

  • 写回答

3条回答 默认 最新

  • CSDN专家-HGJ 2022-02-23 23:22
    关注

    因为if else判断语句,在输入不等于Y时循环终止,不会执行else语句,也就不会写入文件。还有代码中也不需要append。参考如下修改代码:

    reason2_file ='reason2.txt'
    reasons = []
    while True:
        reason = input('你为什么喜欢编程?\n')
        with open(reason2_file,'a') as f:f.write(reason+'\n')    
        controll_poll = input('你想让下一个人参与吗?(Y/N)')
        if controll_poll == 'Y': 
            continue 
        else:
            break
            
    
    

    如对你有帮助,请点采纳按钮。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月4日
  • 已采纳回答 2月24日
  • 创建了问题 2月23日