为啥我的代码跑起来一直是请输入书名?
```python
books = []
num = 0
choice = 1
while 1:
if num < 3:
while choice:
name = input('请输入书名:')
for book in books:
if book.get('书名') == name:
print('添加书名重复,重新添加')
else:
choice = 0
break
author = input('请输入作者:')
price = input('请输入价格:')
books.append({'书名': name, '作者': author, '价格': price})
num += 1
print(books)
else:
print('图书信息添加完成!')
print(books)
break
```
我的想法是如果书名输入不重复choice重新赋值为0,while循环跳出,break跳出for循环
判断输入的书名是否重复,如果重复提示重新输入,不重复继续输入作者和价格
代码这样修改即可:
books = []
num = 0
while 1:
if num < 3:
name = input('请输入书名:')
names=[book['书名'] for book in books ]
if name in names:
print('添加书名重复,重新添加')
else:
author = input('请输入作者:')
price = input('请输入价格:')
books.append({'书名': name, '作者': author, '价格': price})
num += 1
else:
print('图书信息添加完成!')
print(books)
break
如有帮助,请点采纳。
层次看不清楚,用代码块功能,重新发一下代码。
其他语言不用代码片功能发出来还不算致命,可以将就着看一下,因为除了 python,基本上对缩进都没有严格要求。
你这个python还不用代码片功能发,那太致命了,没人能看懂你的代码。