Programmering
  1. Cheatsheets
  2. Kodningsplatforme
  • Eksamen
  • Projektarbejde
  • Synopsis
  • Cheatsheets
    • Python cheatsheet
    • Rust cheatsheet
    • Kodningsplatforme
  • Opsætning
    • Git
    • Python
    • Rust
    • VScode
  • Teori
    • Arbejdsproces
      • Abstraktion
      • Fejlfinding
      • Generalisering
      • Git
      • Kommentarer
      • Moduler
      • Pakker
    • Data
      • Datastrukturer
      • Datatyper
      • Ejerskab og referencer
      • Enum
      • Hukommelse og pointers
      • Indkapsling
      • Polymorfi
      • Struct
    • Diagrammer
      • Brugerhistorier
      • Klassediagrammer
      • Rutediagrammer
      • Tegneprogrammer
    • Logik
      • Anonyme Funktioner
      • Fejlhåndtering
      • Grådig algoritme
      • Metaprogrammering
      • Samtidig programmering
  • Studieområdet
    • Forslag til emner
    • Empiri
    • Metoder i Programmering

På denne side

  • Python
  • Rust
  1. Cheatsheets
  2. Kodningsplatforme

Kodningsplatforme

Udgivet

17. december 2024

Der findes mange kodningsplatforme online hvor man udfordre sig selv med forskellige øvelser, fx kattis. På denne side er der lidt kode til at komme godt i gang.

De fleste platforme bruger standardinput hvilket svarer til at skrive i terminal. Andre steder er det mere oplagt at læse fra en fil. Hvis man får et langt input kan man evt. selv gemme det i en txt fil.

Python

I Python kan læsning fra standardinput ske vha. input(), mens der kan læses fra fil vha. nedenstående eksempel.

with open("file.txt") as file:
    for line in file:
        print(line)

I stedet for at udskrive hver linje vha. print er det ofte bedre at gemme data i en liste eller anden datastruktur. På den måde kan data behandles senere. Husk at oversætte fra tekststreng til heltal eller decimaltal hvis der skal bruges numeriske værdier fra input.

Bemærk at de to metoder for tekststrenge strip og split kan være særdeles nyttige til hhv. at fjerne uønskede symboler og opdele sine linjer.

Rust

I Rust kan man bruge nedenstående funktioner som udgangspunkt til at læse tal og tekststrenge fra standardinput. For at læse fra fil henvises til Rust cheatsheet.

use std::io;

// Læser alle heltal på en linje og returnerer dem som `Vec<i64>`.
fn read_line() -> Vec<i64> {
    let mut line = String::new();
    io::stdin().read_line(&mut line).unwrap();
    line.split_whitespace()
        .map(|numbers| numbers.parse().unwrap())
        .collect()
}

// Læser en linje som tekststreng og returnerer den som `String`.
fn read_line_string() -> String {
    let mut line = String::new();
    io::stdin().read_line(&mut line).unwrap();
    String::from(line.trim())
}

// Resultater kan printes vha. `print!` og `println!`. (Her printes bare input.)
fn main() {
    let input = read_line();
    println!("{:?}",input);

    let input = read_line_string();
    println!("{}",input);
}
Tilbage til toppen

ZBC Slagelse HTX

Senest redigeret d. 17. december 2024

JACS