所以这是我的代码,它正在试图改变汽车登记牌,开始时间和结束时间(在完整的代码中,它将打印在底部)。
data = str(list)
sdata = str(list)
edata = str(list)
current = 0
repeats = input ('How many cars do you want to measure?')
def main():
global current
print (current)
print ''
print ''
print '---------------------------------------'
print '---------------------------------------'
print 'Enter the registration number.'
data[current] = raw_input(' ')
print 'Enter the time it passed Camera 1. In this form HH:MM:SS'
sdata[current] = raw_input(' ')
print 'Enter the time it passed Camera 2. In this form HH:MM:SS'
edata[current] = raw_input (' ')
print '---------------------------------------'
print''
print''
print''
print 'The Registration Number is :'
print data[current]
print''
print 'The Start Time Is:'
print sdata[current]
print''
print 'The End Time Is:'
print edata[current]
print''
print''
raw_input('Press enter to confirm.')
print'---------------------------------------'
d = d + 1
s = s + 1
a = a + 1
current = current = 1
while current < repeats:
main()
当我运行它并且它到达:
data[current] = raw_input(' ')
我收到错误消息'TypeError:'str'对象不支持项目分配' 提前感谢您的帮助。 :d
答案 0 :(得分:0)
错误很明显。 str object does not support item assignment
python中的字符串是不可变的。您执行
时已将数据转换为字符串data = str(list)
所以,通过
data["current"] = raw_input()
您正在尝试为字符串分配一些值,这在python中是不受支持的。
如果您希望数据成为列表,
data = list()
或
data = []
将有所帮助,从而防止错误
答案 1 :(得分:0)
在作业期间不要使用str
data = str(list)
sdata = str(list)
edata = str(list)
改为使用
data = []
sdata = []
edata = []
以及稍后在打印时使用str,如果你想要
print str(data[current])
aswin表示它不可变,所以不要复杂它