Python 原始输入中的命令定义功能?
我有一个def函数,看起来像:Python 原始输入中的命令定义功能?,python,csv,Python,Csv,我有一个def函数,看起来像: def update(marks, num, mark, column): lines = [l for l in marks] for row in range(len(all_marks)): if all_marks[row][0] == num: lines[row][column] = mark elif lines[row][column] != '': p
def update(marks, num, mark, column):
lines = [l for l in marks]
for row in range(len(all_marks)):
if all_marks[row][0] == num:
lines[row][column] = mark
elif lines[row][column] != '':
print num + ' already has a value in column - update ignored.'
result1 = raw_input('Enter results file: ')
num = raw_input('Student number (empty to finish): ')
if len(snumber) == 0:
print
print
print 'finished'
print
print
return interact()
else:
pass
column2 = raw_input('Enter column: ')
newresult1 = raw_input('New result: ')
try:
print update(result1, snumber, newresult1, column2)
except IOError:
print 'Try again'
另一个def函数中的原始输入函数如下所示:
def update(marks, num, mark, column):
lines = [l for l in marks]
for row in range(len(all_marks)):
if all_marks[row][0] == num:
lines[row][column] = mark
elif lines[row][column] != '':
print num + ' already has a value in column - update ignored.'
result1 = raw_input('Enter results file: ')
num = raw_input('Student number (empty to finish): ')
if len(snumber) == 0:
print
print
print 'finished'
print
print
return interact()
else:
pass
column2 = raw_input('Enter column: ')
newresult1 = raw_input('New result: ')
try:
print update(result1, snumber, newresult1, column2)
except IOError:
print 'Try again'
底部的第三行应该打印def update(marks、num、mark、column),但它始终不返回任何值
对不起,代码有点乱。
有人能告诉我我做错了什么吗
提前感谢。原始输入()提示用户并以字符串形式返回用户的响应。您可能希望将字符串转换为整数
此代码将提醒用户直到给出正确的响应:
while True:
try:
column2 = int(raw_input('Enter column: '))
break
except ValueError:
print 'You did not supply an integer!'
您的
update
函数看起来并没有返回任何内容。您需要显式返回某些内容,否则将不会有返回值