wangning1997 发表于 2021-3-29 10:07:05

求教这里为什么列表1里面为空

是小甲鱼的回文那道课后题 打算用列表做 但是这里为什么跑出来list1里面是空呀 球球大佬教一下~

>>> def hui():
        x = input('请输入一句话:')
        str1 = str(x)
        list1 = []
        list2 = []
        list1 = list(str1)
        while list1:
                list2.append(list1.pop())
        print(list1,list2)
        if list1 == list2:
                print('是回文联!')
        else:
                print('不是!')

qq1151985918 发表于 2021-3-29 14:13:39

while list1:
                list2.append(list1.pop())

list1 会一直 pop()到空的

Aries-H 发表于 2021-3-30 11:29:35

可以创建一个列表副本,pop的时候用副本,比较的时候用原列表,这样就可以了
def hui(x):

    str1 = str(x)
    list1 = []
    list2 = []
    list3 = list(str1)
    list1 = list3[:]
    while list1:
      list2.append(list1.pop())
    print(list3, list2)
    if list3 == list2:
      print('是回文联!')
    else:
      print('不是!')

hui('asddsa')
页: [1]
查看完整版本: 求教这里为什么列表1里面为空