ch_lis = [] while True: character = input('请输入你喜欢的人物') n2 = input('请输入一个指令') if n2 == ' ': if character in ch_lis: print('名字已存在') else: ch_lis.append(character) print(ch_lis) for ch in ch_lis: print(ch) else: print('重新输入') continue 有啥问题
时间: 2024-02-14 14:05:05 浏览: 97
这段代码存在一些问题:
1. 在判断是否存在重复名字时,应该使用 `if character in ch_lis:` 而不是 `if character in name:` 。
2. 在输入指令时,应该使用 `input()` 函数而不是 `input` 。
3. 在判断输入指令是否为空时,应该使用 `if not n2.strip():` 而不是 `if n2 == ' ':` 。
4. 在输出人物列表时,应该使用 `for ch in ch_lis:` 而不是 `for ch in name:` 。
5. 在重新输入时,应该使用 `continue` 关键字来跳过本次循环,而不是直接跳转到下一行代码。
6. 可以在程序开头加上一个提示信息,告诉用户该程序的作用和使用方法。
改进后的代码如下:
```python
print('欢迎使用人物列表程序!')
ch_lis = []
while True:
character = input('请输入你喜欢的人物:')
n2 = input('请输入一个指令:')
if not n2.strip():
if character in ch_lis:
print('名字已存在')
else:
ch_lis.append(character)
print(ch_lis)
for ch in ch_lis:
print(ch)
else:
print('重新输入')
continue
```
希望对你有所帮助!
阅读全文