JES f ==没有工作

时间:2015-02-17 00:07:51

标签: jes


我正在使用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,我也尝试过,但是没有用。 您可以提供的任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我发现了我的错误感叹。我需要将None放在引号中。 如果j =="无":