鱼C论坛

 找回密码
 立即注册
查看: 2280|回复: 11

[已解决]29讲0题

[复制链接]
发表于 2020-8-9 22:50:33 | 显示全部楼层 |阅读模式

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

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

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)
问题:
1.write_some = input()
        if write_some != ':w':
            f.write('%s\n' % write_some)
请问这行代码是对输入的字符一个一个进行判断吗?
2.f.write('%s\n' % write_some)
这句是将write_some 作为参数传给%s  为什么要格式化字符串,不格式化不行吗?
3.f.write('%s\n' % write_some)  这个\n 是换行符,我敲了换行确实换了,这个咋实现的呀,没看明白
求大佬帮助!!
最佳答案
2020-8-9 23:19:24
今天又起雾了 发表于 2020-8-9 23:16
大佬,那么就是一行一行的判断吗



嗯,可以这么说,但是准确来说是你的 input 输入的一个字符串 和 ":w" 这个字符串进行判断的

因为 input 函数只能输入一串字符串,不能输入多行字符串,所以说以行进行判断不准确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-9 22:57:02 | 显示全部楼层


请问这行代码是对输入的字符一个一个进行判断吗?


不是一个一个,是直接整个此次输入的 input 函数的内容进行比较判断

这句是将write_some 作为参数传给%s  为什么要格式化字符串,不格式化不行吗?


不格式化可以,但是你要用字符串拼接:f.write(write_some+'\n')

这个\n 是换行符,我敲了换行确实换了,这个咋实现的呀,没看明白


\n 就是换行符,写入文件中去时候就起到换行作用,和你 input 时候敲换行键没有关系哈,是写入时候 \n 才使得文件内容换行

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 23:07:13 | 显示全部楼层
Twilight6 发表于 2020-8-9 22:57
不是一个一个,是直接整个此次输入的 input 函数的内容进行比较判断

大佬,问题1,不是一个一个判断的 为什么输入:w 就停止了呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 23:11:45 | 显示全部楼层
今天又起雾了 发表于 2020-8-9 23:07
大佬,问题1,不是一个一个判断的 为什么输入:w 就停止了呢

while True:
        write_some = input()
        if write_some != ':w':
            f.write('%s\n' % write_some)
        else:
            break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 23:13:26 | 显示全部楼层
今天又起雾了 发表于 2020-8-9 23:07
大佬,问题1,不是一个一个判断的 为什么输入:w 就停止了呢

以为 if 的条件是 你输入的字符不为 :w 就写入文件

如果你输入为 :w 就退出循环,不写入文件
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 23:15:38 | 显示全部楼层
小甲鱼的big粉丝 发表于 2020-8-9 23:11
while True:
        write_some = input()
        if write_some != ':w':

鱼友晚上好,那么是一行一行的判断吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 23:16:25 | 显示全部楼层
Twilight6 发表于 2020-8-9 23:13
以为 if 的条件是 你输入的字符不为 :w 就写入文件

如果你输入为 :w 就退出循环,不写入文件

大佬,那么就是一行一行的判断吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 23:16:32 | 显示全部楼层
本帖最后由 小甲鱼的big粉丝 于 2020-8-9 23:17 编辑
今天又起雾了 发表于 2020-8-9 23:15
鱼友晚上好,那么是一行一行的判断吗


是的,可以说是一行一行地判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 23:18:14 | 显示全部楼层
小甲鱼的big粉丝 发表于 2020-8-9 23:16
没听懂,可以表达的更详细一些吗

就是比喻说我输入:
你好-------这一行开始写入和判断
:w -------这一行单独判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-9 23:19:24 | 显示全部楼层    本楼为最佳答案   
今天又起雾了 发表于 2020-8-9 23:16
大佬,那么就是一行一行的判断吗



嗯,可以这么说,但是准确来说是你的 input 输入的一个字符串 和 ":w" 这个字符串进行判断的

因为 input 函数只能输入一串字符串,不能输入多行字符串,所以说以行进行判断不准确
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 23:20:50 | 显示全部楼层
Twilight6 发表于 2020-8-9 23:19
嗯,可以这么说,但是准确来说是你的 input 输入的一个字符串 和 ":w" 这个字符串进行判断的

因为 ...

谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-9 23:21:50 | 显示全部楼层
小甲鱼的big粉丝 发表于 2020-8-9 23:16
是的,可以说是一行一行地判断

谢谢鱼友
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-11 08:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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