Функция getvalidint объясняется ниже, так как я вызываю функцию getvalidint и давая ей ввод, чтобы он мог генерировать целочисленный вывод. Это не так, как я печатаю выходные данные (см. Ниже в основной программе), он выводит «none», я запускаю python33.Функция не производит целое число, но вместо этого производит вывод «none»
#getValidInt() takes in a minn and maxx, and gets a number from the
# user between those two numbers (inclusive)
#Input: minn and maxx, two integers
#Output: an integer, between minn and maxx inclusive
MIN_VAL = -1000000
MAX_VAL = 1000000
def getValidInt(minn, maxx):
message = "Please enter a number between " + str(minn) + " and " + \
str(maxx) + " (inclusive): "
newInt = int(input(message))
while newInt <= minn & newInt >= maxx:
# while loop exited, return the user's choice
return newInt
def main():
userNum = getValidInt(MIN_VAL, MAX_VAL)
print(userNum)
main()
Отпечаток важен. Ваш оператор возврата находится на другом уровне отступов, чем функция. Похоже, что это часть цикла. Если цикл никогда не попал, вы ничего не возвращаете ... –