Я использую версию 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 тоже нет, и это не сработало. Любая помощь, которую вы можете дать, оценивается.
Что вы подразумеваете под этим не работает? Какой результат вы ожидаете, и что вы получаете вместо этого? –
Когда я существую вне селектора файлов вместо того, чтобы выбирать файл, я хочу, чтобы он прошел цикл if, но по какой-то причине это не так. Вместо этого он пытается выполнить оператор else, и я получаю сообщение об ошибке: Недопустимое значение аргумента (правильного типа). Произошла ошибка при попытке передать аргумент функции. –