改正问题def repeat2(lis): if len(set(lis))<len(lis): return True b = input('请输入一个列表:') p = list(b) print(repeat2(p)) print('原来输入的列表{}'.format(p))
时间: 2023-12-03 15:02:15 浏览: 85
磁力计LIS2MDL开发(3)-九轴姿态解算
5星 · 资源好评率100%
可以对代码进行如下修改来解决问题:
1. 修改函数名为`has_duplicate`,更符合Python的命名规范。
2. 修改`input`函数为`eval(input())`,这样可以将输入的字符串自动转换为列表,无需再手动转换。
3. 修改输出语句,将原来输入的列表单独输出一行。
修改后的代码如下:
```python
def has_duplicate(lst):
if len(set(lst)) < len(lst):
return True
lst = eval(input('请输入一个列表:'))
print(has_duplicate(lst))
print('原来输入的列表:{}'.format(lst))
```
这样改正后,用户可以输入任意类型的列表,而不仅仅是数字字符。同时,修改后的函数名更符合Python的命名规范,更易读易懂。
阅读全文