Как мне использовать requestString в этом случае

У меня есть задание для класса, и мы можем написать функцию, которая будет выбирать, используя pickAFile(), файл изображения, который нужно открыть.

Если в диалоговом окне pickAFile() нажата отмена, вы должны спросить пользователя, не было ли это ошибкой.

Если это была ошибка, снова откройте диалоговое окно pickAFile() и повторяйте до тех пор, пока ошибка не исчезнет или пока не будет выбран файл изображения.

Если выбран файл изображения, вернуть изображение made, в противном случае (т. е. была нажата отмена, и пользователь указал, что это НЕ ошибка) вернуть сообщение об ошибке.

Это то, что у меня есть до сих пор:

def assign3A():

  f = pickAFile()
  cancel = requestString("Did you intentionally press Cancel? Type 'yes' for mistake or hit Cancel for")

  if ans == 'yes':
      print "cancel was deliberatley preesed"
      return
  else:
      f = pickAFile()
  if f !='None':
      print "..."
      return makePicture(f)

person A.Das    schedule 10.11.2015    source источник


Ответы (1)


Прошло много времени с тех пор, как я использовал JES (мой первый класс Uni!), Но я вижу одну ошибку в вашем коде.

Посмотрите на эти две строки:

cancel = requestString("Did you intentionally press Cancel? Type 'yes' ...")

if ans == 'yes':

Вы видите это?

person A. Sim    schedule 10.11.2015
comment
извините, я действительно новичок в jes, и это мой первый уни-класс для него, я не вижу проблемы - person A.Das; 11.11.2015
comment
Один из лучших способов выяснить, где ваша программа работает неправильно, — это просмотреть ее, строка за строкой, и записать, что происходит. Ваша программа говорит: 1. Запустите метод pickAFile и сохраните его в переменной f. 2. Попросите пользователя ввести некоторые данные и сохраните их в переменной Cancel. 3. Прочтите переменную ans, чтобы узнать, что она говорит. Видишь это сейчас? - person A. Sim; 11.11.2015