Code – die besten Beiträge

Python Aufgabe?

Schreiben Sie ein Programm und speichern Sie es als Caesar.py. Ihr Programm soll beim Aufruf drei Programmparameter erhalten: Zwei Dateinamen und eine Ganzzahl. Bei Ausf ¨uhrung soll das Programm den Inhalt der ersten Datei mithilfe der Caesar-Verschl ¨usselung und der Ganzzahl als Schl ¨ussel verschl ¨usseln und in die zweite Datei schreiben. Ihr Programm soll nur Kleinbuchstaben verschl¨usseln und alle anderen Zeichen unver¨andert lassen. Tipp: Legen Sie ein Array f ¨ur alle Zeichen, die verschl ¨usselt werden sollen (Kleinbuchstaben) an, und arbeiten Sie mit diesem Array. Bei der Caesar-Verschl ¨usselung (auch Verschiebechiffre) wird jeder Buchstabe des Klartextes auf einen Geheimtextbuchstaben abgebildet. Dazu werden die Zeichen des Alphabets um eine bestimmte Anzahl (den Schl ¨ussel) nach rechts verschoben. Geht man beim Verschieben ¨uber ’z’ hinaus, dann beginnt man wieder bei ’a’. Beispiel: Aus ’python’ w¨urde mit Schl¨ussel 2 somit ’ravjqp’.
Da habe ich jetzt:

import sys

def caesarencrypt(text, shift):
   encryptedtext = ""
   for char in text:
      if char.islower():
         encryptedtext += chr((ord(char) - ord('a') + shift) % 26 + ord('a'))
      else:
         encryptedtext += char
   return encrypted_text

def main():
   if len(sys.argv) != 4:
      print("Usage: python Caesar.py <inputfile> <outputfile> <shift>")
      sys.exit(1)
   input_filename = sys.argv[1]
   output_filename = sys.argv[2]
   shift = int(sys.argv[3])
   try:
      with open(input_filename, 'r') as file:
         text = file.read()
         encrypted_text = caesar_encrypt(text, shift)
      with open(output_filename, 'w') as file:
         file.write(encrypted_text)
         print(f"Verschlüsselter Text wurde in {output_filename} geschrieben.")
   except FileNotFoundError:
      print(f"Die Datei {input_filename} wurde nicht gefunden.")
      sys.exit(1)

if __name == "__main":
   main()

Ist das so richtig?

___

[Edit 2024-08-12: Quelltext formatiert und eingerückt]

Code, Programmiersprache, Python

Mit 29 Jahren erfolgreich in programmierung werden?

Ich habe das Programmieren leider viel zu spät für mich entdeckt.

Ich habe erst mit 28 Jahren das erste Mal mich mit Programmieren beschäftigt und mit 29 Jahren dann richtig und täglich damit begonnen. Jetzt habe ich etwa 350 Stunden investiert, die ersten kleinen Programme geschrieben und fange langsam an, mein erstes großes Projekt zu bauen (einen Online-Shop, keinen echten, nur fürs Portfolio und zum Üben). Es macht mir unheimlich viel Spaß.

Jetzt die Frage: Ist es schon zu spät, um ein sehr guter Programmierer zu werden?

Ich habe jetzt die Zeit, mich täglich relativ lange damit zu beschäftigen, aktuell etwa 7-8 Stunden täglich, 3 Stunden morgens und 4-5 Stunden abends. Am Wochenende bis zu 12 Stunden.

Ich habe mir vorgenommen, in den nächsten 10 Jahren durchschnittlich 5 Stunden täglich zu programmieren.

Heißt das, nach den 10 Jahren bin ich 39 Jahre alt und habe über 18.000 Stunden Programmiererfahrung. Man sagt ja, nach 10.000 Stunden ist man in einem Bereich meistens sehr gut und erfahren.

Ist es also möglich, in den 10 Jahren von 29 bis 39 Jahren ein sehr erfolgreicher Programmierer zu werden, ein erfolgreiches IT-Startup zu gründen und mindestens eine große App herauszubringen, die viele aktive Nutzer in Deutschland hat und relativ bekannt ist?

App, Technik, IT, Webseite, Programmierer, programmieren, Ausbildung, Code, Informatik, Informatiker, Informationstechnik, Programmiersprache, Softwareentwicklung, Webdesign, Webentwicklung

Arduino Code funktioniert nicht?

IRremote und JoyStick funktionieren nicht

#include <SPI.h> // Bibliothek für SPI-Kommunikation

#include <Mirf.h> // Bibliothek für nRF24L01

#include <nRF24L01.h> // Treiber für nRF24L01

#include <MirfHardwareSpiDriver.h> // Hardware-SPI-Treiber für Mirf

#include <IRremote.h> // Bibliothek für IR-Kommunikation

// Pin-Definitionen

int receiver = 4; // Pin für den IR-Empfänger

const int SW = 2; // Pin für den Schalter

const int X = A0; // Analog-Pin für X-Achse

const int Y = A1; // Analog-Pin für Y-Achse

// Initialisierung des IR-Empfängers

IRrecv irrecv(receiver);

IRsend results;

uint32_t last_decodedRawData = 0; // Variable zum Speichern des letzten IR-Codes

// Funktion zur Verarbeitung des empfangenen IR-Codes

void translateIR() {

 if (irrecv.decodedIRData.flags) {

  // Wenn ein Wiederholungscode empfangen wird, den letzten empfangenen Code verwenden

  irrecv.decodedIRData.decodedRawData = last_decodedRawData;

 } else {

  // Den empfangenen Code im seriellen Monitor ausgeben

  Serial.print("Empfangener IR-Code: 0x");

  Serial.println(irrecv.decodedIRData.decodedRawData, HEX);

 }

}

// Setup-Funktion, die einmal beim Starten des Programms ausgeführt wird

void setup() {

 Serial.begin(9600); // Startet die serielle Kommunikation mit 9600 Baud

 irrecv.enableIRIn(); // Aktiviert den IR-Empfänger

 pinMode(SW, INPUT); // Setzt den Schalter-Pin als Eingang

 digitalWrite(SW, HIGH); // Aktiviert den Pull-up-Widerstand für den Schalter

 Mirf.cePin = 9; // Setzt den Chip Enable (CE) Pin für den nRF24L01

 Mirf.csnPin = 10; // Setzt den Chip Select Not (CSN) Pin für den nRF24L01

 Mirf.spi = &MirfHardwareSpi; // Setzt den SPI-Treiber für Mirf

 Mirf.init(); // Initialisiert den nRF24L01

 Mirf.setRADDR((byte *)"Sen01"); // Setzt die Adresse des Senders

 Mirf.payload = sizeof(unsigned int); // Setzt die Payload-Größe auf die Größe eines unsigned int

 Mirf.channel = 3; // Setzt den Kommunikationskanal auf 3

 Mirf.config(); // Konfiguriert den nRF24L01

}

unsigned int adata = 0; // Variable zum Speichern der zu sendenden Daten

// Hauptschleife, die kontinuierlich ausgeführt wird

void loop() {

 // Überprüfen, ob ein IR-Signal empfangen wurde

 if (irrecv.decode()) {

  translateIR(); // Verarbeitung des empfangenen IR-Codes

  irrecv.resume(); // Bereit zum Empfang des nächsten IR-Codes

 }

 // Lesen des Schalter- und Analogwerte

 int swValue = digitalRead(SW); // Lesen des Schalterzustands

 int xValue = analogRead(X); // Lesen des X-Achsen-Werts

 int yValue = analogRead(Y); // Lesen des Y-Achsen-Werts

 // Überprüfen der empfangenen IR-Codes und Setzen von adata entsprechend

 if (last_decodedRawData == 0xAD52FF00) {

  adata = 12006;

 } else if (last_decodedRawData == 0xBF40FF00) {

  adata = 12005;

 } else if (last_decodedRawData == 0xBC43FF00) {

  adata = 12004;

 } else if (last_decodedRawData == 0xBB44FF00) {

  adata = 12003;

 }

 // Überprüfen des Schalterwerts und Setzen von adata

 if (swValue == 0) {

  adata = 2103;

 }

 // Überprüfen der Analogwerte und Setzen von adata

 if (yValue < 1024 && yValue > 6 && xValue > 150 && xValue < 800) {

  adata = 213;

 } else if (yValue < 512 && yValue > -1 && xValue > 200 && xValue < 700) {

  adata = 312;

 } else if (xValue < 509 && xValue > -1 && yValue > 200 && yValue < 750) {

  adata = 231;

 } else if (xValue < 1024 && xValue > 515 && yValue > 450 && yValue < 750) {

  adata = 321;

 } else if (xValue < 514 && xValue > 510 && yValue < 511 && yValue > 507) {

  adata = 123;

 }

 // Senden der Daten über Mirf, wenn adata gesetzt wurde

 if (adata != 0) {

  byte data[Mirf.payload]; // Array zum Speichern der zu sendenden Daten

  data[0] = adata & 0xFF; // Niedriges Byte von adata

  data[1] = adata >> 8; // Hohes Byte von adata

  Mirf.setTADDR((byte *)"Rec01"); // Setzt die Adresse des Empfängers

  Mirf.send(data); // Sendet die Daten

  while (Mirf.isSending()) {} // Warten, bis das Senden abgeschlossen ist

  delay(20); // Kurze Pause, um das Senden zu beenden

  adata = 0; // Zurücksetzen von adata nach dem Senden

 }

}

Arduino, Code, Programmiersprache, Arduino Uno, Arduino IDE

Meistgelesene Beiträge zum Thema Code