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('重新输入') break哪有问题
时间: 2024-02-14 08:04:35 浏览: 72
3input_xor.rar_3-input XOR_hspice model_verilog hdl_warnwqx_三输入异
这段代码存在两个问题:
1. 当输入的指令不为空格时,会直接退出 while 循环,而不是重新输入;
2. 在输入指令时,应该将 n2 放在 input 函数内,而不是单独再输入一次。
下面是修改后的代码:
```python
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('指令不正确,请重新输入')
```
这样修改后,程序会在输入不正确的指令时提示重新输入,并等待新的输入。同时,空格键被改为了空字符串,与原代码等价。
阅读全文