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日

悬赏问题

  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码
  • ¥15 关于资源监视工具的e-care有知道的嘛
  • ¥35 MIMO天线稀疏阵列排布问题
  • ¥60 用visual studio编写程序,利用间接平差求解水准网
  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?