今天又起雾了 发表于 2020-8-9 22:50:33

29讲0题

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 是换行符,我敲了换行确实换了,这个咋实现的呀,没看明白
求大佬帮助!!

Twilight6 发表于 2020-8-9 22:57:02



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

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

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

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

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

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

今天又起雾了 发表于 2020-8-9 23:07:13

Twilight6 发表于 2020-8-9 22:57
不是一个一个,是直接整个此次输入的 input 函数的内容进行比较判断




大佬,问题1,不是一个一个判断的 为什么输入:w 就停止了呢

小甲鱼的big粉丝 发表于 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

Twilight6 发表于 2020-8-9 23:13:26

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

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

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

今天又起雾了 发表于 2020-8-9 23:15:38

小甲鱼的big粉丝 发表于 2020-8-9 23:11
while True:
      write_some = input()
      if write_some != ':w':


鱼友晚上好,那么是一行一行的判断吗

今天又起雾了 发表于 2020-8-9 23:16:25

Twilight6 发表于 2020-8-9 23:13
以为 if 的条件是 你输入的字符不为 :w 就写入文件

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

大佬,那么就是一行一行的判断吗

小甲鱼的big粉丝 发表于 2020-8-9 23:16:32

本帖最后由 小甲鱼的big粉丝 于 2020-8-9 23:17 编辑

今天又起雾了 发表于 2020-8-9 23:15
鱼友晚上好,那么是一行一行的判断吗

是的,可以说是一行一行地判断

今天又起雾了 发表于 2020-8-9 23:18:14

小甲鱼的big粉丝 发表于 2020-8-9 23:16
没听懂,可以表达的更详细一些吗

就是比喻说我输入:
你好-------这一行开始写入和判断
:w -------这一行单独判断

Twilight6 发表于 2020-8-9 23:19:24

今天又起雾了 发表于 2020-8-9 23:16
大佬,那么就是一行一行的判断吗


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

因为 input 函数只能输入一串字符串,不能输入多行字符串,所以说以行进行判断不准确

今天又起雾了 发表于 2020-8-9 23:20:50

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

因为 ...

谢谢大佬

今天又起雾了 发表于 2020-8-9 23:21:50

小甲鱼的big粉丝 发表于 2020-8-9 23:16
是的,可以说是一行一行地判断

谢谢鱼友
页: [1]
查看完整版本: 29讲0题