***PYTHON*** В программу добавить возможность перебросить деньги на другой аккаунт.
То есть, мы логинимось под свой аккаунт, заходим в операцию с карточкой, выбираем "переслать деньги", пользователь должен ввести имя пользователя,
и определенную сумму.
ВНИМАНИЕ!
Должны быть проверки на то, или такой пользователь есть, да у того кто пересылает я такая сумма на счету.
***КОД***
money = 0
import pickle
def read_from_file():
file = open("users_data.txt", "rb")
value = pickle.load(file)
file.close()
return value
users_list = read_from_file()
tmp = users_list
def write_to_file():
file = open("users_data.txt", "wb")
pickle.dump(users_list, file)
file.close()
def registration():
name = input('Enter name')
isFound = False
while True:
login = input('Enter login')
for i in range(len(users_list)):
if login == users_list[i]:
print('This login is already used.\nTry again...')
isFound = True
break
if not isFound:
break
password = input('Enter password')
users_list.append(name)
users_list.append(login)
users_list.append(password)
users_list.append(0)
write_to_file()
def login():
user_login = input('Enter login: ')
user_password = input('Enter password: ')
for i in range(1, len(users_list), 4):
if users_list[i] == user_login:
if users_list[i+1] == user_password:
print(f'Hello dear - {users_list[i-1]}')
return True
else:
print('Incorrect password')
return False
print(users_list)
log_Or_reg = int(input('Enter 1 - login, 2 - registration: '))
if log_Or_reg == 2:
registration()
isLogin = login()
while isLogin:
choise = int(input('\t ***CART MENU***\n1 - Work with card\n2 - Put\n3 - Balance\n0 - BACK‼'))
if choise == 0:
isLogin = False
elif choise == 1:
print ('Take')
elif choise == 2:
print('Put')
elif choise == 3:
print(f'Dear {users_list[tmp -1]}, your balance = {users_list[tmp +2]} ')
if choise == 4:
NP = input("New pass: ")
users_list[2] = NP
Снизу
Объяснение:
x % 2 == 0 это 1.
Если остаток X от деления на 2 равняется нулю, тогда условие выполняется.
x % 2 != 0 это 2.
Думаю понятно из первого.
x % 10 == y % 10 это 3.
Если остаток от деления X на 10 равняется остатку Y на 10 условие выполняется. думаю понятно почему остаток отделения на 10 это последняя цифра.
x % 10 == 0 or y % 10 == 0 это 4.
Это как два условия в одном, если x делится на 10 или y делится на 10 то условие выполняется.
X * Y % 2 == 0 это 6.
Из 4 класса известно если умножить четное на нечетное получится всегда четное.
(X + 1) * (Y + 1) % 2 == 0 это должно быть 7 т.к если оба числа четные то Ч + 1 = НЧ, а НЧ * НЧ = НЧ и условие не будет выполняться, а если есть хотя бы одно нечетное, то НЧ + 1 = Ч. И условие выполнится.
(X + 1) * (Y + 1) % 2 != 0 это 5.
Если оба числа четные - то они оба станут нечетными и произведение не будет делится на 2, а в других случаях будет одно четное что можно легко перебрать.
Фух, вроде всё.
Первая программа
var a,b,c: integer;
min, max, s: integer;
begin
writeln('Введите числа');
readln(a,b,c);
if (a>b) then max:=a else max:=b;
if (c>max) then max:=c;
if (a<b)then min:=a else min:=b;
if (c<min)then min:=c;
s:=max+min;
writeln('Сумма максимального и минимального числа =', s);
end.
Вторая программа
Она состоит из процедуры и выводит на экран начальное уравнение, корни уравнения и дискриминант.
program sqrturavnenie;
uses crt;
Var a, b, c:Real;
procedure sq(a, b, c:Real);
Var d, x1, x2:Real;
Begin
d:=b*b-4*a*c;
Writeln ('d= ', d) ;
If d>=0 then begin
x1:=(-b+sqrt(d)) /(2*a);
x2:=(-b-sqrt(d))/(2*a);
If x1=x2 then
Writeln ('x1= ', x1:6:2)
else
Writeln ('x1=', x1:6:2, 'x2= ', x2:6:2)
End
Else
Writeln ('Корней нет!');
End;
begin
Clrscr ;
Writeln ('a= ');
Readln (a);
Writeln ('b= ');
Readln (b);
Writeln ('c=') ;
Readln (c);
Writeln (a:6:2,'x*x+ ', b:6:2, 'x+ ', c:6:2);
sq(a, b, c);
Readln
end.
С комментариями будет трудно