Форум сайта python.su
							
  0  
								
								Доброе, 
пишу маленькую первую программу.  python изучаю 3-4 день, первый язык программирования для меня.
Столкнулся с проблемой …проверки введенных данных.
def commision :
moneybank = input ("Есть ли деньги в банке? 1 - ДА, 2 - Нет: ")
if moneybank == 2 :
moneynobank()
elif moneybank == 1:
moneyyesbank()
else type(moneybank) != int:
print "Вы ввели не корректные данные. Сделайте выбор заново."
print "================================================================"
commision()
NameError: name 'd' is not defined
Офлайн
							
  0  
								
								Попробуй так:
# -*- coding: utf-8 -*-
while 1:
try:
num = int(raw_input("Введите целое число:\n"))
break
except ValueError:
print "Вы ошиблись. Попробуйте снова."
Офлайн
							
  0  
								
								Zzzzнемного не понял, как должна выглядеть функция с таким кодом…
Офлайн
							
  0  
								
								Если убрать бесконечный цикл (while 1) и выход из него (break), будет выглядеть понятнее:
# -*- coding: utf-8 -*-
try:
num = int(raw_input("Введите целое число:\n"))
print num
except ValueError:
print "Вы ошиблись. Попробуйте снова."
Отредактировано (Дек. 7, 2010 18:10:08)
Офлайн
							
  0  
								
								Zzzzага, понял, получается придется чуток переделывать функцию в целом)
Офлайн
							
  857  
								
								def moneyyesbank():
print 'yes'
def moneynobank():
print 'no'
moneybank = 0
while moneybank not in (1, 2):
try:
moneybank = input ("Есть ли деньги в банке? 1 - ДА, 2 - Нет: ")
except NameError:
print "Вы ввели не корректные данные. Сделайте выбор заново."
print "================================================================"
continue
if moneybank == 1:
moneyyesbank()
elif moneybank == 2:
moneynobank()
Офлайн
							
  0  
								
								py.user.nextСпасибо большое ;-) Думал когда приеду домой самому попытаться сделать ;-) Но всё же, очень приятно!def moneyyesbank():
print 'yes'
def moneynobank():
print 'no'
moneybank = 0
while moneybank not in (1, 2):
try:
moneybank = input ("Есть ли деньги в банке? 1 - ДА, 2 - Нет: ")
except NameError:
print "Вы ввели не корректные данные. Сделайте выбор заново."
print "================================================================"
continue
if moneybank == 1:
moneyyesbank()
elif moneybank == 2:
moneynobank()
Офлайн