鱼C论坛

 找回密码
 立即注册
查看: 520|回复: 2

Python零基础第29课的作业第一题

[复制链接]
发表于 2018-10-9 00:51:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def file_write(file_name):
    f = open(file_name, 'w')
    print('请输入内容【单独输入\':w\'保存退出】:')

    while True:
        write_some = input()
        if write_some != ':w':
            f.write('%s\n' % write_some)
        else:
            break

    f.close()

file_name = input('请输入文件名:')
file_write(file_name)


在这段代码里不是很理解这俩句:
     if write_some != ':w':
            f.write('%s\n' % write_some)
    希望各位鱼友能帮我解决下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-9 01:28:01 | 显示全部楼层
1、while True。 这是一个死循环。作用:为了连续不断相应程序对应用户的输出设置使用的
它如果无法跳出,会导致程序无限循环死掉。
2、你设置了一个跳出语句 else:            break。
用户输入:w --->write_some != ':w': 情况下循环继续。 用户可以继续输出未完的文本
用户一旦输入:w --->write_some = ':w'跳到else执行break语句跳出这个循环。同时! f.close()导致关闭文件,存储在Rom(内存中)的文本至硬盘对应的文本文件中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-9 01:54:41 | 显示全部楼层
楼上回答的很详细。
那个while循环就是一只执行的。
第一个IF 表明,只要接受的write_some不等于:w 就一直往文件中添加内容。
当你输入了‘:w’后 ,就进入了else 分支。执行break 跳出循环 接下来就关闭并更新文件。
最佳答案给楼上就行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 09:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表