我正在使用JES 5.010版。我正在尝试为学校做这个任务:
对于作业的第一部分,你要写一篇 将使用pickAFile()选择一个图片文件的函数 打开。如果在pickAFile()对话框中按下取消,那么你 必须询问用户是否是一个错误。如果这是一个错误,打开 pickAFile()再次对话,并重复,直到它不是一个 错误,或选择了图片文件。如果图片文件是 选中,返回'制作'图片,否则(即取消被推 并且用户表示这不是一个错误)返回错误 信息。注意:JES函数requestString(参见JES 当询问用户是否应该使用函数 - >输入/输出) 按“取消”是一个错误。
出于某种原因,我的if语句,如果f == None,则无法正常工作,我不知道为什么。我的代码在
之下def assign3PartA():
noFile = True
while noFile:
f = pickAFile()
if f==None: #This is what isn't working
noFile=mistake()
noFile = False
print "Invalid option, you must select a picture to continue!"
else: #Working fine
pic = makePicture(f)
show(pic)
break
def mistake():
ask = requestString("Did you press cancel by mistake? Enter yes or no. ")
if ask == "yes" or ask == "Yes":
return True
elif ask == "No" or ask == "no":
return False
else:
print "Try again. Please enter either yes or no."
mistake()
如果f也是None,我也尝试过,但是没有用。 您可以提供的任何帮助表示赞赏。
答案 0 :(得分:0)
我发现了我的错误感叹。我需要将None放在引号中。 如果j =="无":