Gmaster_0 2019-08-22 18:33 采纳率: 100%
浏览 269
已采纳

做python练习题遇到了几个小问题,希望得到各位的帮助

favorite_places = {
'xiaowang' : ['a1'],
'xiaoli' : ['a1','b2','c3'],
'xiaozhang' : ['c3','d4']
}
for names ,places in favorite_places.items() :

print(len(places))

##为什么xiaowang的len(places)是2?????
##是因为a1有两个字符吗?那么怎么把a1当作一个字符呢?
##通过给a1加上[],使得a1变成列表可以解决这个问题,还有别的办法吗?
if len(places) > 1 :
print(names.title() + "'s favorite places are : \n")
for place in places :

print('-' + place)
elif len(places) == 1 :
print(names.title() + "'s favorite places is : \n")
print('-' , places)
##如果是('-'+places)就会出现:
##TypeError: can only concatenate str (not "list") to str
##改成('-' , places)错误解决,还有别的解决办法吗?
##怎么能去掉输出结果['a1']的方括号呢?

问题都标记在注释中了,初学编程希望能得到各位的帮助,谢谢大家

  • 写回答

2条回答 默认 最新

  • 傲慢程序员 2019-08-27 15:40
    关注

    你提的这几个问题,都是初学者容易遇到的,
    请注意,尊重并且记住python的主要数据类型
    字符串和list是不同的数据类型,所以它们作为len的参数时有不同的表现
    它们在+运算符上也有不同的表现
    在print的输出格式上也有不同的表现

    类似“怎么把a1当作一个字符”这种,并不应该是python语言的“问题”
    len('a1') ==> 2
    len(['a1']) ==> 1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 java 判断某个数 区间是否存在
  • ¥15 appium控制多个雷电模拟器问题
  • ¥15 C# iMobileDevice
  • ¥15 谁会做这个啊#ensp#Boson NetSim
  • ¥15 如何编写针对TPS6503320FRGE型号的电源管理芯片的编程代码?
  • ¥15 设计简单目录管理系统,要满足以下内容
  • ¥15 关于九十度混合耦合器信号分析问题
  • ¥15 Cesm如何关闭不用的模块呢
  • ¥15 vue2两层数据导出为excle
  • ¥15 有人能帮我做一下这个项目吗