1<!DOCTYPE html>
2<html lang="el">
3<head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <title>Αριθμομηχανή</title>
7 <link rel="stylesheet" href="style.css">
8</head>
9<body>
10 <div id="calculator">
11 <input type="text" id="display" disabled>
12 <div class="buttons">
13 <button onclick="clearDisplay()">C</button>
14 <button onclick="appendToDisplay('1')">1</button>
15 <button onclick="appendToDisplay('2')">2</button>
16 <button onclick="appendToDisplay('3')">3</button>
17 <button onclick="setOperation('+')">+</button>
18 <button onclick="appendToDisplay('4')">4</button>
19 <button onclick="appendToDisplay('5')">5</button>
20 <button onclick="appendToDisplay('6')">6</button>
21 <button onclick="setOperation('-')">-</button>
22 <button onclick="appendToDisplay('7')">7</button>
23 <button onclick="appendToDisplay('8')">8</button>
24 <button onclick="appendToDisplay('9')">9</button>
25 <button onclick="setOperation('*')">*</button>
26 <button onclick="calculate()">=</button>
27 <button onclick="appendToDisplay('0')">0</button>
28 <button onclick="setOperation('/')">/</button>
29 </div>
30 </div>
31 <script src="script.js"></script>
32</body>
33</html>
34
1body {
2 font-family: Arial, sans-serif;
3 display: flex;
4 justify-content: center;
5 padding: 50px;
6}
7
8#calculator {
9 display: inline-block;
10}
11
12#display {
13 width: 160px;
14 height: 40px;
15 font-size: 24px;
16 text-align: right;
17}
18
19.buttons {
20 display: grid;
21 grid-template-columns: repeat(4, 1fr);
22 grid-gap: 5px;
23}
24
25button {
26 font-size: 20px;
27 padding: 10px;
28}
29
1let displayValue = '';
2let firstOperand = null;
3let secondOperand = null;
4let currentOperation = null;
5
6function appendToDisplay(value) {
7 displayValue += value;
8 document.getElementById('display').value = displayValue;
9}
10
11function clearDisplay() {
12 displayValue = '';
13 firstOperand = null;
14 secondOperand = null;
15 currentOperation = null;
16 document.getElementById('display').value = '';
17}
18
1function setOperation(operation) {
2 if (firstOperand === null) {
3 firstOperand = parseFloat(displayValue);
4 currentOperation = operation;
5 displayValue = '';
6 }
7}
8
1function multiply() {
2 if (currentOperation === '*') {
3 secondOperand = parseFloat(displayValue);
4 displayValue = (firstOperand * secondOperand).toString();
5 document.getElementById('display').value = displayValue;
6 firstOperand = null; // Reset for next calculation
7 currentOperation = null;
8 }
9}
10
1function divide() {
2 if (currentOperation === '/') {
3 secondOperand = parseFloat(displayValue);
4 if (secondOperand !== 0) {
5 displayValue = (firstOperand / secondOperand).toString();
6 document.getElementById('display').value = displayValue;
7 } else {
8 alert("Διαίρεση με το μηδέν δεν επιτρέπεται!");
9 }
10 firstOperand = null; // Reset for next calculation
11 currentOperation = null;
12 }
13}
14
1try:
2 number = int(input("Εισάγετε έναν αριθμό: "))
3 result = 10 / number
4except ValueError:
5 print("Παρακαλώ εισάγετε έναν έγκυρο αριθμό.")
6except ZeroDivisionError:
7 print("Δεν μπορείτε να διαιρέσετε με το μηδέν!")
8
1try:
2 # Κώδικας που μπορεί να προκαλέσει σφάλμα
3except (ValueError, ZeroDivisionError) as e:
4 print(f"Σφάλμα: {e}")
5
1try:
2 f = open("myfile.txt", "r")
3 # Κώδικας που μπορεί να προκαλέσει σφάλμα
4finally:
5 f.close() # Κλείνει το αρχείο
6
else
εκτελείται αν δεν παρουσιαστεί καμία εξαίρεση.1try:
2 number = int(input("Εισάγετε έναν αριθμό: "))
3except ValueError:
4 print("Παρακαλώ εισάγετε έναν έγκυρο αριθμό.")
5else:
6 print(f"Ο αριθμός είναι {number}.")
7
1class MyException(Exception):
2 pass
3
4raise MyException("Αυτό είναι ένα προσαρμοσμένο σφάλμα!")
5
1class NegativeValueError(Exception):
2 pass
3
4def check_value(value):
5 if value < 0:
6 raise NegativeValueError("Η τιμή δεν μπορεί να είναι αρνητική.")
7
try
και except
για να διαχειριστείτε σφάλματα και να τα χειριστείτε με κατάλληλο τρόπο.finally
;finally
εκτελείται ανεξάρτητα από το αν υπήρξε σφάλμα ή όχι, είναι ιδανικό για καθαρισμούς πόρων.Exception
.except
, χρησιμοποιήστε περιγραφικά μηνύματα και διαχειριστείτε συγκεκριμένες εξαιρέσεις.1fun divide(a: Double, b: Double): Double {
2 if (b != 0.0) {
3 return a / b
4 } else {
5 throw IllegalArgumentException("Η διαίρεση με το μηδέν δεν είναι επιτρεπτή.")
6 }
7}
8
1import javafx.application.Application
2import javafx.scene.Scene
3import javafx.scene.control.Button
4import javafx.scene.control.TextField
5import javafx.scene.layout.VBox
6import javafx.stage.Stage
7
8class CalculatorApp : Application() {
9 override fun start(primaryStage: Stage) {
10 val textField = TextField()
11 val buttonAdd = Button("+")
12
13 buttonAdd.setOnAction {
14 val result = add(2.0, 3.0) // Αυτή είναι μια απλή πρόσθεση
15 textField.text = result.toString()
16 }
17
18 val layout = VBox(10.0, textField, buttonAdd)
19 val scene = Scene(layout, 300.0, 250.0)
20
21 primaryStage.title = "Αριθμομηχανή"
22 primaryStage.scene = scene
23 primaryStage.show()
24 }
25}
26
27fun main() {
28 Application.launch(CalculatorApp::class.java)
29}
30
1def add_numbers(num1, num2)
2 num1 + num2
3end
4
5puts add_numbers(5, 7) # Επιστρέφει 12
1if (function_exists('curl_version')) {
2 echo 'Η μπούκλα είναι ενεργοποιημένη!';
3} else {
4 echo 'Η μπούκλα δεν είναι ενεργοποιημένη.';
5}
6
1$curl = curl_init();
2curl_setopt($curl, CURLOPT_URL, "https://api.example.com/data");
3curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
4$response = curl_exec($curl);
5curl_close($curl);
6echo $response;
7
1$data = array("key1" => "value1", "key2" => "value2");
2$curl = curl_init("https://api.example.com/data");
3curl_setopt($curl, CURLOPT_POST, true);
4curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
5$response = curl_exec($curl);
6curl_close($curl);
7echo $response;
8