Форум сайта python.su
Я, как новенький, сейчас пишу легкую программу. Система банка, где пользователь должен вести свое имя и пароль. После приветствия выводиться случайное количество валюты. Также можно “вывести” деньги. Но после проверки, хватает ли пользователю средств, почему то выводит что недостаточно средств, хоть и число меньше чем количество денег. Помогите буду благодарен.
import time
import random
import sys
c = random.randint(0,1000)
c = str©
name = input(“Введите ваше имя: ”)
print (“Добро пожаловать в ‘Волшебный банкомат’ ” + name.title() + “!”)
time.sleep(0.2)
password = input(“Введите ваш пароль: ”)
if password == ('1703'):
print ('Загрузка ֎')
time.sleep(1)
print(“На вашем счете ” + c + ‘ $’)
else:
print('Пароль введен не верно!')
print (name.title() + ‘, хотите ли вы вывести сумму денег(Да или Нет)?’ )
output = input(“Ваш ответ: ”)
output = output.title()
if output == ‘Да’:
print('Какую сумму вы хотите вывести?')
the_sum = input('Сумма: ‘)
else:
output == (’Нет')
if c < the_sum:
c = int(print())
the_sum = int(print())
print('Сумма успешно была выведена)))')
print('На вашем счете ‘ + (c - the_sum))
else:
print(’Недостаточно средств(((')
Прикреплённый файлы:
Волшебный бакомат 2.0.py (1,1 KБ)
Офлайн
Код в теги нужно вставлять
[code python][/code]
if int(c) < int(the_sum):
Офлайн
kamise4 немного указал на ошибки
import time import random import sys c = random.randint(0,1000) c = str(c) # зачем преобразовывать в строку а потом опять в число для вычитания ? name = input("Введите ваше имя: ") # сразу применить .title() чтобы не вызывать во всем коде print ("Добро пожаловать в 'Волшебный банкомат' " + name.title() + "!") # 1 - .title() time.sleep(0.2) password = input("Введите ваш пароль: ") # одноразовая переменная можно и без нее if password == '1703': # если пароль не верный прграмма продолжит свою работу print ('Загрузка ֎') time.sleep(1) print("На вашем счете " + c + ' $') else: print('Пароль введен не верно!') # показав только предупреждение print (name.title() + ', хотите ли вы вывести сумму денег(Да или Нет)?' ) # 2- .title() output = input("Ваш ответ: ") output = output.title() # лишняя строка можно строкой выше применить .title() if output == 'Да': print('Какую сумму вы хотите вывести?') the_sum = input('Сумма: ') # водить сразу число else: output == ('Нет') # даже если ввел нет код продолжит работу if c < the_sum: # ошибка в сравнении 500 на счету меньше 300 введенных ( это если числа сравнивать) c = int(print()) # первое преобразование str в int делается так c = int(c) the_sum = int(print())# второе преобразование str в int делается так the_sum = int(the_sum) print('Сумма успешно была выведенна)))') print('На вашем счете ' + (c - the_sum)) # строки и числа не складываютя ! тут число (c - the_sum)) ! # опять надо к строке приводить print('На вашем счете ' + str(c - the_sum)) else: print('Недостаточно средств(((')
import time import random import sys c = random.randint(0,1000) name = input("Введите ваше имя: ").title() print ("Добро пожаловать в 'Волшебный банкомат' " + name + "!") time.sleep(0.2) while True: if '0000' == input("Введите ваш пароль: ") : break print('Пароль введен не верно!') print ('Загрузка ֎') time.sleep(1) print('На вашем счете -'+str(c)+'$') # формат рулит! print(f'На вашем счете -{c}$') print (name + ', хотите ли вы вывести сумму денег(Да или Нет)?' ) if 'да' == input("Ваш ответ: ").lower(): print('Какую сумму вы хотите вывести?') the_sum = int(input('Сумма: ')) if c > the_sum: print('Сумма успешно была выведенна)))') print(f'На вашем счете {c - the_sum}')# форматированный вывод else: print('Недостаточно средств(((') else: print('Goodbye!')
Отредактировано marvellik (Фев. 4, 2019 11:47:27)
Офлайн