Python 为什么我的代码在';什么是自动标记的?
因此,我的代码基于一个名为Grok的学习网站中的模块,这些是我必须创建的要求,以便进入下一阶段Python 为什么我的代码在';什么是自动标记的?,python,Python,因此,我的代码基于一个名为Grok的学习网站中的模块,这些是我必须创建的要求,以便进入下一阶段 import collections collect = collections.defaultdict(list) order = input('Name: ') name, surname = order.split(' ', 1) collect[surname].append(name) mail = open('mail.txt', encoding="UTF-8").read() mai
import collections
collect = collections.defaultdict(list)
order = input('Name: ')
name, surname = order.split(' ', 1)
collect[surname].append(name)
mail = open('mail.txt', encoding="UTF-8").read()
mail = mail.split('\n')
letter = 0
package = 0
count = mail.count(' '.join(collect[surname]) + ' ' + surname + ',Letter')
count2 = mail.count(' '.join(collect[surname]) + ' ' + surname + ',Package')
for i in collect:
if (' '.join(collect[surname]) + ' ' + surname + ',Letter') in mail:
letter += 1 * count
if (' '.join(collect[surname]) + ' ' + surname + ',Package') in mail:
package += 1 * count2
if package == 0 and letter == 0:
print("No mail")
if letter > 1:
print(count, "Letters")
if letter == 1:
print(count, "Letter")
if letter == 0 and package != 0:
print("No Letters")
if package > 1:
print(count2, "Packages")
if package == 1:
print(package, "Package")
if package == 0 and letter != 0:
print("No Packages")
所讨论的错误是
测试包含多个字母的较长案例。您的提交引发ValueError类型的异常。这发生在program.py的第4行
我似乎不知道如何解决这个问题以正确标记它,但我的代码工作得非常完美
我的代码
import collections
collect = collections.defaultdict(list)
order = input('Name: ')
name, surname = order.split(' ', 1)
collect[surname].append(name)
mail = open('mail.txt', encoding="UTF-8").read()
mail = mail.split('\n')
letter = 0
package = 0
count = mail.count(' '.join(collect[surname]) + ' ' + surname + ',Letter')
count2 = mail.count(' '.join(collect[surname]) + ' ' + surname + ',Package')
for i in collect:
if (' '.join(collect[surname]) + ' ' + surname + ',Letter') in mail:
letter += 1 * count
if (' '.join(collect[surname]) + ' ' + surname + ',Package') in mail:
package += 1 * count2
if package == 0 and letter == 0:
print("No mail")
if letter > 1:
print(count, "Letters")
if letter == 1:
print(count, "Letter")
if letter == 0 and package != 0:
print("No Letters")
if package > 1:
print(count2, "Packages")
if package == 1:
print(package, "Package")
if package == 0 and letter != 0:
print("No Packages")
示例第二行中只有一个空格用于屏幕截图中的第三个输入。对于第4行(
name,姓氏=order.split(“”,1)
),如果order中没有空格,元组解包将引发ValueError
编辑:
我该如何解决这个问题?要么不解包(即只处理订单
),要么做类似于的事情尝试:(原始代码)除了value错误:name,姓氏=(订单,“”)
。我不确定我是否完全理解。介意编辑我的代码来实现这一点吗?我不知道我是否理解,我该如何解决这个问题?