python练习第二问如何去写

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

img

代码:

if __name__ == '__main__':
    # 我这里就不接收输入了直接写了个列表
    list=[1,43,2,4,5,6,34,73,2,45,2,45,2]
    index = [k for k in range(len(list)) if list[k]==2]
    print(index)

    res = int(input("输入将第几个2改成3:"))
    list[index[res-1]]=3
    print(list)

运行结果:

img


望采纳,谢谢

代码如下

def func():
    _input = input("请输入数字列表,用空格隔开至少包含4个2:\n1 3 5 2 2 3 5 2 2 5\n")
    _list = _input.replace("\n", "").split(" ")
    _list = [int(x) for x in _list]
    if _list.count(2) < 4:
        print("2的数目少于4,请重新执行")
        return

    print("2所在的位置为:", )
    for i in range(len(_list)):
        if _list[i] == 2:
            print(i)
    n = input("请输入替换2的位置n:\n")
    _list[int(n)] = 3
    print("已替换现在的列表为:", _list)


print("##############################################")
_input = input("请输入数字列表,如:\n1 3 5 2 3 5\n")
_list = _input.replace("\n", "").split(" ")
_list = [int(x) for x in _list]
print("去重后结果为", list(set(_list)))
print("##############################################")

func()
print("##############################################")

如有问题及时沟通,如有帮助欢迎点赞采纳。

list01 = []
# 录入过程
while True:
    str01 = input("请输入列表元素:")
    if  str01 == "":
        break
    list01.append(str01)

# 通过反向遍历索引删除
for item in range(len(list01)-1, -1, -1):
    if list01.count(list01[item]) > 1:
        list01.remove(list01[item])

# 输出过程
print(list01)

img

list01 = []

# 录入过程
while True:
    num01 = input("请输入列表元素:")
    if  num01 == "":
        break
    list01.append(int(num01))

#显示所有2的索引位
for item in range(len(list01)):
    if list01[item] == 2:
        print(item)

#将指定的索引号2变成3
num02 = input("请输入要改变的2的索引号n:")
for item in range(len(list01)):
    if item == int(num02):
        list01[item] = 3
print(list01)

img