鱼C论坛

 找回密码
 立即注册
查看: 1523|回复: 8

[已解决]29讲 第0题 格式化问题

[复制链接]
发表于 2017-4-6 15:49:18 | 显示全部楼层 |阅读模式

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

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

x
题目:

                               
登录/注册后可看大图

以下是答案
f.write('%s\n' % write_some)这一句的格式化意义是什么呢?input进去的应该就是字符串了把?其实我一直没懂字符串格式化字符串的意义是什么?
于是乎我试了下f.write(write_some) 也可以保存进去,但是因为没了\n 我写入的内容都是一行上的 无法换行了。
那是不是 就是因为需要换行写入 需要'\n' 所以才要格式化输出的字符串?

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)
最佳答案
2017-4-6 17:16:50
你的问题:那是不是 就是因为需要换行写入 需要'\n' 所以才要格式化输出的字符串?
我的回答:不是!
格式化字符串是为了使代码看起来更加美观和方便
你的输入也可以不适用格式化字符串,直接往只需要在你需要换行的地方加上一个\n这个换行符就行了
但是这样你的代码中就会重复出现很多你要输入的中文字,看起来不好看,也比较浪费时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-6 16:23:36 | 显示全部楼层
对啊,代码写的很清楚了,就是写入到txt中每行加上个换行符
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-6 16:40:43 | 显示全部楼层
zlj19931010 发表于 2017-4-6 16:23
对啊,代码写的很清楚了,就是写入到txt中每行加上个换行符

就是如果要加 换行符的话  就一定要格式化字符串了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 16:43:46 | 显示全部楼层
本帖最后由 zlj19931010 于 2017-4-6 16:45 编辑
Isaiah 发表于 2017-4-6 16:40
就是如果要加 换行符的话  就一定要格式化字符串了吗?


python字符串不支持+运算,我反正遇到要拼接字符串就用%来格式化的

对的,格式化输出,每个句子追加一个\n
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 17:16:50 | 显示全部楼层    本楼为最佳答案   
你的问题:那是不是 就是因为需要换行写入 需要'\n' 所以才要格式化输出的字符串?
我的回答:不是!
格式化字符串是为了使代码看起来更加美观和方便
你的输入也可以不适用格式化字符串,直接往只需要在你需要换行的地方加上一个\n这个换行符就行了
但是这样你的代码中就会重复出现很多你要输入的中文字,看起来不好看,也比较浪费时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-6 17:43:56 | 显示全部楼层
gopythoner 发表于 2017-4-6 17:16
你的问题:那是不是 就是因为需要换行写入 需要'\n' 所以才要格式化输出的字符串?
我的回答:不是!
格 ...

那应该怎么加 我试过一些都不行么
f.write(write_some,/n)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 17:48:36 | 显示全部楼层
Isaiah 发表于 2017-4-6 17:43
那应该怎么加 我试过一些都不行么
f.write(write_some,/n)


write()里面只能是一个字符串,你的写法是用逗号隔开的两个字符串,把他们用+合起来就行了
先确保你的write_some本身是个字符串,然后改成这样:
  1. f.write(write_some+"\n")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-6 17:52:15 | 显示全部楼层
换行符是特殊的转义字符,只要是字符都要待在引号里面的
所以是“\n”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-6 17:56:43 | 显示全部楼层
gopythoner 发表于 2017-4-6 17:48
write()里面只能是一个字符串,你的写法是用逗号隔开的两个字符串,把他们用+合起来就行了
先确保你的 ...

对对!一下子卡住了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 12:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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