1.题目:检查用户名:按下面的说明编写一个程序,模拟网站确保每位用户的用户名都独一无二的方式。·创建一个至少包含5个用户名的列表,并将其命名为current_users。·再创建一个包含5个用户名的列表,将其命名为new_users,并确保其中有一两个用户名也包含在列表current_users中。·遍历列表new_users,对于其中的每个用户名,都检查它是否已被使用。如果是这样,就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指出这个用户名未被使用。·确保比较时不区分大小写;换句话说,如果用户名'John'已被使用,应拒绝用户名'JOHN'。
分析:这个问题可以将两个列表中的元素全部转化为小写,然后再进行判断。
current_users = ["Bengi", "Ashero", "Tim", "Pat", "Faker"] new_users = ["BEngI", "Blank", "Wolf", "Pat", "faker"] lower_current_users = [] for current_user in current_users: lower_current_users.append(current_user.lower()) for new_user in new_users: if new_user.lower() in lower_current_users: print("已经被使用了!") else: print("可以使用")
2.题目:
l = [1,2,3,4,5,6,7] print(l.pop(0), len(l)) 的输出是:
答案是:1 6
而类似的例子:
a = 5 def my_test(a): a = a + 1 return a print(my_test(a),a)
输出是:6 5
从第一个可以看出,使用pop函数会修改列表l的内容,而第二个调用了自定义的+1函数却不会使原来的值发生改变。
总结:在printf中对列表输出内容的改变,会导致原有列表的改变。
3.
end