-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalkulator_better.py
72 lines (59 loc) · 2.05 KB
/
calkulator_better.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
def main():
next_operation = True
while next_operation:
print('Podaj w oddzielnych wierszach liczbę, operację matematyczną: +,-,*,/,%, a następnie kolejną liczbę:')
print('')
input_1 = input('liczba > ')
while not isfloat(input_1):
print('To nie jest liczba!')
input_1 = input('> ')
number_1 = float(input_1)
print('')
operation = input("operacja > ")
while operation not in ['+', '-', '*', '/', '%']:
print('Niepoprawna operacja!')
operation = input("operacja > ")
print('')
input_2 = input('liczba > ')
correct_input_2 = False
while not correct_input_2:
if not isfloat(input_2):
print('')
print('To nie jest liczba!')
input_2 = input('> ')
else:
number_2 = float(input_2)
if number_2 == 0.0 and (operation == '/' or operation == '%'):
print('')
print('Dzielenie przez zero!')
input_2 = input('liczba > ')
else:
correct_input_2 = True
result = False
if operation == '+':
result = number_1 + number_2
elif operation == '-':
result = number_1 - number_2
elif operation == '*':
result = number_1 * number_2
elif operation == '/':
result = number_1 / number_2
elif operation == '%':
result = number_1 % number_2
result = round(result, 2)
print('kalkuluję %s %s %s = %s' % (input_1, operation, input_2, result))
print('')
answer = ''
while answer != 'n' and answer != 't':
answer = input('Chcesz wykonać kolejne działanie? Wpisz literę t lub n. ')
if answer == 'n':
next_operation = False
print('The End')
def isfloat(value):
try:
float(value)
return True
except ValueError:
return False
if __name__ == "__main__":
main()