xu8358121 发表于 2020-3-15 15:13:42

关于range函数打印名字接龙

大家好,小白我刚开始学习污龟的python零基础,讲到range的时候,我有个做个名字接龙想法试了好多次就是没有实现,如何能实现:
比如name = [],然后我每输入一个姓名input('请继续输入姓名'),然后进行循环
for i in range(len(name)):
      print(i+1,a)
      print(input('请继续输入姓名:'))
就会自动打印序列+名字,并且进行循环不退出,出现请输入名字的提示
比如第四个人李某输入名字后运行的结果是:





请继续输入姓名:

就是每输入一个名字所运行的结果都保留有之前所有输入的序列和名字,并且让继续输入名字!
小白根据开头几节课所讲知识,感觉这个名字接龙游戏应该是可以搞出来的,但是就是各种运行错误,故来大海中请假下各位鱼油大神尽兴解惑!!
感谢!!

qiuyouzhi 发表于 2020-3-15 15:15:31

不要用中文的标点符号
name = []
for i in range(len(name)):
   print(i+1,a)
   print(input('请继续输入姓名:'))

Hoiste 发表于 2020-3-15 15:36:10

意思是要把每一次输入的名字也加入到队列之中的话就需要把输入的名字也加入到列表之中,另外,不能在for循环内部在增加range的长度的,所以需要另一个循环来达到你所需要的目的:
namelist = []
name = input('请输入姓名:')
namelist.append(name)

while True:
    j = 0 #名字序号的标记
    for i in namelist:#这样就可以遍历列表的每一个元素了,不需要多此一举遍历索引值
      j += 1
      print('[' + str(j) + '、' + i + ']')#你的每个元素输出好像要求中括号,那我也加上了,虽然有更好地代码,不过你如果是初学者我就用比较笨的办法吧。。
      
    name = input('请继续输入姓名:')
    namelist.append(name)
   

xu8358121 发表于 2020-3-15 15:43:19

Hoiste 发表于 2020-3-15 15:36
意思是要把每一次输入的名字也加入到队列之中的话就需要把输入的名字也加入到列表之中,另外,不能在for循 ...

感谢大神解惑,看你的代码果然都是污龟教程的前几节内容,而且没有超出我们小白的知识范畴,并且都加了备注解析,这种解答方式对小白来说真的非常非常有用,非常感谢大神!
页: [1]
查看完整版本: 关于range函数打印名字接龙