【问题标题】:JES f==None not workingJES f==None 不工作
【发布时间】:2015-03-03 04:59:49
【问题描述】:


我使用的是 JES 5.010 版。我正在尝试为学校完成这项任务:

对于作业的第一部分,你要写一个 函数将使用pickAFile() 选择一个图片文件 打开。如果在 pickAFile() 对话框中按下取消,那么您 必须询问用户是否有误。如果有误,请打开 再次pickAFile() 对话,并重复直到它不是 错误,或选择了图片文件。如果图片文件是 选中,返回“制作”图片,否则(即取消被推送 并且用户表示这不是错误)返回错误 信息。注意:JES 函数 requestString(参见 JES Functions-->Input/Output) 在询问用户是否 按“取消”是一个错误。

由于某种原因,我的 if 语句 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 并且没有用。 感谢您提供任何帮助。

【问题讨论】:

  • 它不起作用是什么意思?你期待什么结果,你得到了什么?
  • 当我存在于文件选择器之外而不是选择一个文件时,我希望它通过 if 循环,但由于某种原因它没有。相反,它尝试通过 else 语句,我收到一条错误消息:不适当的参数值(正确类型)。尝试将参数传递给函数时发生错误。

标签: jes


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-13
    • 2015-08-12
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 2011-02-13
    • 2014-06-26
    • 1970-01-01
    相关资源
    最近更新 更多