Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 3, 2019 20:57:43

kamise4
Зарегистрирован: 2019-02-03
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите пожалуйста.

Я, как новенький, сейчас пишу легкую программу. Система банка, где пользователь должен вести свое имя и пароль. После приветствия выводиться случайное количество валюты. Также можно “вывести” деньги. Но после проверки, хватает ли пользователю средств, почему то выводит что недостаточно средств, хоть и число меньше чем количество денег. Помогите буду благодарен.


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(’Недостаточно средств(((')

Прикреплённый файлы:
attachment Волшебный бакомат 2.0.py (1,1 KБ)

Офлайн

#2 Фев. 3, 2019 21:11:49

Romissevd
От: Счастье
Зарегистрирован: 2015-03-01
Сообщения: 533
Репутация: +  76  -
Профиль   Отправить e-mail  

Помогите пожалуйста.

Код в теги нужно вставлять

 [code python][/code]
Ты сравниваешь строки, а не числа.
 if int(c) < int(the_sum):

Офлайн

#3 Фев. 4, 2019 11:30:54

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Помогите пожалуйста.

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('Недостаточно средств(((')
kamise4
другой вариант
 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)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version