鱼C论坛

 找回密码
 立即注册
查看: 1469|回复: 4

[已解决]第010讲:列表:一个打了激素的数组

[复制链接]
发表于 2020-9-2 22:41:50 | 显示全部楼层 |阅读模式
1鱼币
动动手2:上一题打印的样式不是很好,能不能修改一下代码打印成下图的样式呢?【请至少使用两种方法实现】
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]

一:输入后不报错,但不打印任何内容
for i in member:
    if i == str():
        print(i,end='')
    if i == int():
        print(i)
二:输入后和“for i in member: print(i)”没有区别
for i in member:
    if i == str():
        print(i,end='')   #(end='')作用不是不换行吗?
    else:
        print(i)

请各位大佬帮忙看看,另外[b]1、每次作业后都有自己想半天都想不明白的错误,该如何改进;2、课后答案的方法我发现自己完全没有这种方法的思路,不会往这方面想,请问怎么改进,还是说需要多看其他人的方法或多模仿[/b]
最佳答案
2020-9-2 22:41:51
1,输入后不报错,但不打印内容
因为你这个条件他是永远不会成立的,例如你的,if i == str(),这里str()创建了一个str对象,不是类型,你要去掉括号,那么它就是一个str类型,去掉了括号使用type(i)会返回一个类型, if type(i) == str,其他的同理。
2,输入后和“for i in member: print(i)”没有区别
没有区别的原因的是你的 if i == str(),它永远不会成立(原因和上面一样),if 不成立就执行了else 条件,你的else条件中的print()的参数也应该加上end=''就会得到你想要得结果,(其实这样写会也会得你想要得结果,但是是半对半错)
正确写法
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for i in member:
       print(i,end ='')


最佳答案

查看完整内容

1,输入后不报错,但不打印内容 因为你这个条件他是永远不会成立的,例如你的,if i == str(),这里str()创建了一个str对象,不是类型,你要去掉括号,那么它就是一个str类型,去掉了括号使用type(i)会返回一个类型, if type(i) == str,其他的同理。 2,输入后和“for i in member: print(i)”没有区别 没有区别的原因的是你的 if i == str(),它永远不会成立(原因和上面一样),if 不成立就执行了else 条件,你的else条件中的prin ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-2 22:41:51 | 显示全部楼层    本楼为最佳答案   
1,输入后不报错,但不打印内容
因为你这个条件他是永远不会成立的,例如你的,if i == str(),这里str()创建了一个str对象,不是类型,你要去掉括号,那么它就是一个str类型,去掉了括号使用type(i)会返回一个类型, if type(i) == str,其他的同理。
2,输入后和“for i in member: print(i)”没有区别
没有区别的原因的是你的 if i == str(),它永远不会成立(原因和上面一样),if 不成立就执行了else 条件,你的else条件中的print()的参数也应该加上end=''就会得到你想要得结果,(其实这样写会也会得你想要得结果,但是是半对半错)
正确写法
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for i in member:
       print(i,end ='')


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

使用道具 举报

发表于 2020-9-2 22:43:57 | 显示全部楼层
本帖最后由 疾风怪盗 于 2020-9-2 22:46 编辑
if i == str()
这是啥意思?

你要判断是字符型还是数值型,可以用type()
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for i in member:
    if type(i) == str:
        print(i,end='')
    if type(i) == int:
        print(i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-2 23:30:45 | 显示全部楼层
本帖最后由 学习型motor 于 2020-9-2 23:40 编辑

我看了一下,不知道我理解得对不对
你应该是想判断是字符串或者是整型然后做出相应的操作,你可以试试下面的代码:
member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]

for i in member:
    if isinstance(i,str):
        print(i,end = "")
    if isinstance(i,int):
        print(i)
然后再说说你的代码
for i in member:
    if i == str():  #这里你想判断i是不是字符串,如果你打开idle单独输入str()你会发现这是个空字符串,所以你这里的代码变成判断i是不是空字符串,显然和你的想法不一致了
        print(i,end='')        #顺带一提,这里应该是print(i,end = "")这个样子哦,你少写了
    if i == int():        #这里的int()同理
        print(i)

当然你也可以按照上面老哥写的用type(i)去判断
嘿嘿 多看看视频,动手练习,试错
加油学习吧,大家一起进步
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-3 05:01:21 | 显示全部楼层
都是过来人,慢慢来,” 拿出自己的手指,盯着看10 秒钟,想象他他一根血管,  每一根神经,  其实编程也不过是如此。”        小甲鱼可以出0基础学习编程语录了。       一说是靠刷题培养思路,  有带答案讲解的题刷的话,  请来分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-18 20:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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