鱼C论坛

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

[已解决]第29讲:文件:一个任务课后题动动手第三个题求助

[复制链接]
发表于 2021-9-19 11:44:46 | 显示全部楼层 |阅读模式

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

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

x
问题有两个:
1.程序第五行报错是因为什么  百度翻译说:并非所有参数都在字符串格式化期间转换,不太懂什么意思
2.程序第五行print(line,end='')  我把' end='' '去掉为什么打印输出会有间隔空行
新手刚入门  求大佬解惑  万分感激!!!!!
最佳答案
2021-9-19 12:06:32
本帖最后由 洛阳城 于 2021-9-19 12:07 编辑

1. 第五行中的“...前$s行”符号打错了,应改成“前%s”行
2. 如下所示,print()函数的默认结尾是换行
  1. print(*objects, sep=' ', end='\n', file=sys.stdout)
复制代码

如果改成
  1. end=''
复制代码
就是去掉原先的换行,那为什么原先去掉了换行打印的结果还是分行的呢,这是因为文件里面每一行结尾本身就是换行,也就是说程序看到的每一行都是
  1. "11111111111111\n"
  2. "22222222222222\n"
复制代码

所以即时你去掉了print()默认的结尾换行还是会自动换行,而你没去掉的话就会换行两次

题目内容

题目内容

这是我写的程序

这是我写的程序

第一个问题的程序报错

第一个问题的程序报错
问题2.png
2问题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-9-19 11:56:38 | 显示全部楼层
end 是 print() 函数的参数
一般 print() 打印完会自动换行,加上 end = '' 可以避免自动换行,当然 end 还有很多其它用处。
示例 1:
  1. print("banana")
  2. print("apple")
复制代码
  1. banana
  2. apple
复制代码
示例 2:
  1. print("banana", end='')
  2. print("apple")
复制代码
  1. bananaapple
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-19 12:06:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 洛阳城 于 2021-9-19 12:07 编辑

1. 第五行中的“...前$s行”符号打错了,应改成“前%s”行
2. 如下所示,print()函数的默认结尾是换行
  1. print(*objects, sep=' ', end='\n', file=sys.stdout)
复制代码

如果改成
  1. end=''
复制代码
就是去掉原先的换行,那为什么原先去掉了换行打印的结果还是分行的呢,这是因为文件里面每一行结尾本身就是换行,也就是说程序看到的每一行都是
  1. "11111111111111\n"
  2. "22222222222222\n"
复制代码

所以即时你去掉了print()默认的结尾换行还是会自动换行,而你没去掉的话就会换行两次
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-19 12:07:25 | 显示全部楼层
傻眼貓咪 发表于 2021-9-19 11:56
end 是 print() 函数的参数
一般 print() 打印完会自动换行,加上 end = '' 可以避免自动换行,当然 end  ...

谢谢谢谢  ,这个问题听你一说我就懂了  非常感谢解答,第一问能否解答一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-19 12:10:58 | 显示全部楼层
洛阳城 发表于 2021-9-19 12:06
1. 第五行中的“...前$s行”符号打错了,应改成“前%s”行
2. 如下所示,print()函数的默认结尾是换行
如 ...

笔误真的是致命错误  ,非常感谢解答,十分感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-19 12:14:20 | 显示全部楼层
wangbaishi 发表于 2021-9-19 12:10
笔误真的是致命错误  ,非常感谢解答,十分感谢

偶尔打错很正常,这个用高级的IDE它会自动帮你飘红的,可以考虑一下改用Pycharm哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-19 12:16:21 | 显示全部楼层
洛阳城 发表于 2021-9-19 12:06
1. 第五行中的“...前$s行”符号打错了,应改成“前%s”行
2. 如下所示,print()函数的默认结尾是换行
如 ...

文件本身里就是有换行的 ,我若不设定end=''  print()函数还是会有默认换行,也就是换行+换行才导致了有一个空行出现 ,设定了end='',就只有一次换行:正是文件中自带的换行。我这么理解对吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-9-19 12:17:56 | 显示全部楼层
洛阳城 发表于 2021-9-19 12:14
偶尔打错很正常,这个用高级的IDE它会自动帮你飘红的,可以考虑一下改用Pycharm哈哈哈

老污龟不是说  新手最好先不用charm  就是出错才能长记性   哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-19 12:19:35 | 显示全部楼层
wangbaishi 发表于 2021-9-19 12:16
文件本身里就是有换行的 ,我若不设定end=''  print()函数还是会有默认换行,也就是换行+换行才导致了有 ...

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

使用道具 举报

发表于 2021-9-19 12:20:45 | 显示全部楼层
wangbaishi 发表于 2021-9-19 12:17
老污龟不是说  新手最好先不用charm  就是出错才能长记性   哈哈

啊这啊这,可是PyCharm太香了我是直接用的PyCharm哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-9-19 12:27:34 | 显示全部楼层
wangbaishi 发表于 2021-9-19 12:10
笔误真的是致命错误  ,非常感谢解答,十分感谢


因为你的第 5 行 打成 $s,系统判断错误(系统不知道你后面的 %(file_name, number) 应该去哪里?
一般 % 还有取余功能,比如:
print(10%2)

或格式說明符,比如:
a = 2
print("%d"%a)
以上两者中的 % 看是一样,实质不一样意思,所以系统会搞乱
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2021-9-21 09:14:48 | 显示全部楼层
傻眼貓咪 发表于 2021-9-19 12:27
因为你的第 5 行 打成 $s,系统判断错误(系统不知道你后面的 %(file_name, number) 应该去哪里?
一 ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 00:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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