Python und Rust erweitert
This commit is contained in:
@@ -110,3 +110,43 @@ name = None # Name wurde noch nicht eingegeben
|
||||
`0` ist ein echter numerischer Wert, zum Beispiel eine Punktzahl von genau null, während `None` bedeutet, dass überhaupt kein Wert vorhanden ist, etwa eine Punktzahl, die noch nicht berechnet wurde. Ein häufiges Missverständnis ist, dass `0` „nichts“ bedeutet, aber in Python steht nur `None` tatsächlich für das Fehlen eines Werts. Ebenso sind `""` (leere Zeichenkette) und `False` weiterhin echte Werte ihrer jeweiligen Typen. Sie sind nicht dasselbe wie `None`.
|
||||
|
||||
Die Verwendung von `None` signalisiert, dass die Variable als Platzhalter existiert, aber noch keinen sinnvollen berechneten Wert enthält.
|
||||
## Arithmetische Operatoren
|
||||
|
||||
**Operatoren** werden verwendet, um Operationen mit Werten durchzuführen.
|
||||
|
||||
Zuerst besprechen wir die grundlegendsten **arithmetischen Operatoren**, die dir vielleicht aus dem Mathematikunterricht bekannt sind.
|
||||
|
||||
|Operator|Operation|Beispiel|
|
||||
|---|---|---|
|
||||
|+|Addition|3 + 2 = 5|
|
||||
|-|Subtraktion|3 - 2 = 1|
|
||||
|*|Multiplikation|3 * 2 = 6|
|
||||
|/|Division|4 / 2 = 2.0|
|
||||
|
||||
Sehen wir uns ein Anwendungsbeispiel an.
|
||||
|
||||
```python
|
||||
a = 3
|
||||
b = 5
|
||||
c = a + b # c hält 8
|
||||
```
|
||||
|
||||
Wenn ein Ausdruck mehrere Operatoren enthält, folgt Python der in der Mathematik verwendeten Reihenfolge: Multiplikation und Division werden vor Addition und Subtraktion berechnet, und alles innerhalb von Klammern wird zuerst berechnet.
|
||||
|
||||
```python
|
||||
z = 7 + 3 * 2 # z hat den Wert 13, weil 3 * 2 zuerst berechnet wird
|
||||
z = (7 + 3) * 2 # z hat den Wert 20
|
||||
```
|
||||
### Challenge
|
||||
|
||||
Schreibe einen Code, der zwei Variablen, `a` und `b`, mit den Werten `5.2` bzw. `2.6` initialisiert.
|
||||
|
||||
Initialisiere danach eine weitere Variable `c`, die das Ergebnis von `a / b` enthält.
|
||||
|
||||
```python
|
||||
a = 5.2
|
||||
b = 2.6
|
||||
c = a / b
|
||||
|
||||
print(f"a = {a}, b = {b}, c = {c}");
|
||||
```
|
||||
|
||||
@@ -372,6 +372,87 @@ println!("Is available: {}", is_available);
|
||||
}
|
||||
```
|
||||
|
||||
## Typumwandlung
|
||||
|
||||
Typumwandlung bezeichnet den Vorgang, einen Wert von einem Datentyp in einen anderen umzuwandeln. In Rust verwenden wir das Schlüsselwort <mark style="background:#40a9ff">`as`</mark> für eine explizite Typumwandlung (auch als Typkonvertierung bezeichnet).
|
||||
|
||||
Die häufigsten Typumwandlungen finden zwischen numerischen Typen statt:
|
||||
|
||||
```rust
|
||||
// Umwandlung von Integer zu Float
|
||||
let number: i32 = 5;
|
||||
let decimal: f64 = number as f64;// wird zu 5.0
|
||||
```
|
||||
|
||||
```rust
|
||||
// Umwandlung von Gleitkommazahl in Ganzzahl
|
||||
let decimal: f64 = 9.7;
|
||||
let number: i32 = decimal as i32;// wird zu 9 (Dezimalteil wird abgeschnitten)
|
||||
```
|
||||
### Challenge
|
||||
Schreiben Sie ein Rust-Programm, das Typumwandlung demonstriert. Führen Sie die folgenden Operationen aus:
|
||||
|
||||
1. Deklarieren Sie eine `f64`-Variable namens `price` und initialisieren Sie diese mit dem Wert `99.99`.
|
||||
2. Wandeln Sie die Variable `price` in einen `i32` um und speichern Sie das Ergebnis in einer neuen Variable namens `int_price`.
|
||||
3. Geben Sie die Werte von `price` und `int_price` auf der Konsole aus.
|
||||
|
||||
```rust
|
||||
fn main() {
|
||||
// Variablen deklarieren und initialisieren
|
||||
let price: f64 = 99.99;
|
||||
let int_price: i32 = price as i32;
|
||||
|
||||
// Die Werte ausgeben
|
||||
println!("Price: {}", price);
|
||||
println!("Int Price: {}", int_price);
|
||||
}
|
||||
```
|
||||
## Arithmetische Operatoren
|
||||
|
||||
**Operatoren** werden verwendet, um Operationen auf Werten auszuführen.
|
||||
|
||||
Zuerst werden wir die grundlegendsten **arithmetischen Operatoren** besprechen; sie sind Ihnen vielleicht aus dem Mathematikunterricht bekannt.
|
||||
|
||||
| Operator | Operation | Beispiel |
|
||||
| -------- | -------------- | --------- |
|
||||
| + | Addition | 3 + 2 = 5 |
|
||||
| - | Subtraktion | 3 - 2 = 1 |
|
||||
| * | Multiplikation | 3 * 2 = 6 |
|
||||
| / | Division | 4 / 2 = 2 |
|
||||
|
||||
Sehen wir uns ein Verwendungsbeispiel an,
|
||||
|
||||
```rust
|
||||
let a: i32 = 3;
|
||||
let b: i32 = 5;
|
||||
let c: i32 = a + b// c enthält 8
|
||||
```
|
||||
|
||||
Beim Arbeiten mit Dezimalzahlen in Rust verwenden wir den Datentyp f64, der Zahlen mit Nachkommastellen speichern kann. Die gleichen arithmetischen Operatoren (+, -, *, /) funktionieren mit f64 genauso wie mit Ganzzahlen:
|
||||
|
||||
```rust
|
||||
let x: f64 = 3.3;
|
||||
let y: f64 = 4.1;
|
||||
let z: f64 = x + y;// z enthält 7.4
|
||||
```
|
||||
### Challenge
|
||||
|
||||
Schreibe einen Code, der zwei Variablen, `a` und `b`, mit den Werten `5.2` und `2.6` (in dieser Reihenfolge) initialisiert.
|
||||
|
||||
Initialisiere danach eine weitere Variable `c`, die das Ergebnis von `a / b` enthalten wird.
|
||||
|
||||
```rust
|
||||
fn main() {
|
||||
// Schreibe deinen Code unten
|
||||
let a: f64 = 5.2;
|
||||
let b: f64 = 2.6;
|
||||
let c: f64 = a / b;
|
||||
|
||||
// Ändere die folgende Zeile nicht
|
||||
println!("a = {}, b = {}, c = {}", a, b, c);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
https://rust-lernen.de/blog/zeichenketten.html
|
||||
|
||||
|
||||
Reference in New Issue
Block a user