2015-02-17 2 views
0


Я использую версию JES версии 5.010. Я пытаюсь сделать это задание для школы:JES f == Нет не работает

Для первой части задания, вы собираетесь написать функции, которая будет выбирать, используя pickAFile(), файл картинка будет открыт. Если отмена нажата в диалоговом окне pickAFile(), то вы должны задать , если это была ошибка. Если это была ошибка, откройте диалог pickAFile() и повторите, пока не будет ошибкой или выбран файл изображения. Если выбран файл изображения , верните изображение «made», в противном случае (т. Е. Отмена была нажата , и пользователь указал, что это НЕ ошибка), возвратите сообщение об ошибке . ПРИМЕЧАНИЕ. Функция запроса запроса JES (см. 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 тоже нет, и это не сработало. Любая помощь, которую вы можете дать, оценивается.

+0

Что вы подразумеваете под этим не работает? Какой результат вы ожидаете, и что вы получаете вместо этого? –

+0

Когда я существую вне селектора файлов вместо того, чтобы выбирать файл, я хочу, чтобы он прошел цикл if, но по какой-то причине это не так. Вместо этого он пытается выполнить оператор else, и я получаю сообщение об ошибке: Недопустимое значение аргумента (правильного типа). Произошла ошибка при попытке передать аргумент функции. –

ответ

0

Я нашел свою ошибку вздохом. Мне нужно поставить None в кавычки. if j == "None":