第010讲:列表:一个打了激素的数组
动动手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)
请各位大佬帮忙看看,另外1、每次作业后都有自己想半天都想不明白的错误,该如何改进;2、课后答案的方法我发现自己完全没有这种方法的思路,不会往这方面想,请问怎么改进,还是说需要多看其他人的方法或多模仿。
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 ='')
本帖最后由 疾风怪盗 于 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) 本帖最后由 学习型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)去判断
嘿嘿 多看看视频,动手练习,试错
加油学习吧,大家一起进步 都是过来人,慢慢来,” 拿出自己的手指,盯着看10 秒钟,想象他他一根血管,每一根神经,其实编程也不过是如此。” 小甲鱼可以出0基础学习编程语录了。 {:5_106:} 一说是靠刷题培养思路,有带答案讲解的题刷的话,请来分享
页:
[1]