TypeError bei Python-Programm?

Ich habe folgendes Programm:

import itertools

# Daten aus der Tabelle einlesen
data = []
with open('tour1.txt', 'r') as file:
    for line in file:
        parts = line.strip().split(',')
        data.append((parts[0], int(parts[1]), parts[2] == 'X'))

# Essentielle Tourpunkte auswählen
essential_points = [place for place, year, is_essential in data if is_essential]

# Funktion zur Berechnung der Teiltour
def calculate_tour(places, essential_places):
    min_distance = float('inf')
    min_tour = None

    for perm in itertools.permutations(essential_places):
        tour = [places[0][0]] + [places[i][0] for i in perm] + [places[0][0]]
        total_distance = 0

        for i in range(len(tour) - 1):
            total_distance += abs([x[1] for x in places if x[0] == tour[i]][0] - [x[1] for x in places if x[0] == tour[i + 1]][0])

        if total_distance < min_distance:
            min_distance = total_distance
            min_tour = tour

    return min_tour

# Sortieren der Orte nach ihrem Jahr
sorted_data = sorted(data, key=lambda x: x[1])

# Die Teiltour berechnen
shortest_tour = calculate_tour(sorted_data, essential_points)

# Ergebnis ausgeben
for point in shortest_tour:
    print(point, end=" -> ")
print(shortest_tour[0])  # Zum Startpunkt zurückkehren

Beim Ausführen wird mir folgender Fehler ausgegeben: TypeError: list indices must be integers or slices, not str

Die Textdatei ist nach dem Format "Brauerei,1613,X,0" (als Beispiel) aufgebaut.
Ich habe probiert das Problem durch ein voranstellen von Int() bei den Listen zu Lösen, was nicht funktioniert hat...
Gibt es eine andere Möglichkeit zur Lösung?

Vielen Dank!

Error, Programmiersprache, Python
HTML Text nach Hintergrundbild?

Hallo,

ich muss gerade eine einfache Website als Hausaufgabe programmieren und stoße auf einige Schwierigkeiten.

Aktuell hab ich 4 Hauprprobleme:

  1. Meine Navigationslieste im header ist trotz text-align: center, nicht mittig
  2. Ich habe im footer "2023", "Impressum" und "Alex" stehen. Impressum ist dabei ein relativer Link zu einer extra Seite und die 2 anderen Wörter sind einfach nur Wörter. Ich habe es geschafft "2023" links und "Alex" rechts zu positionieren, aber ich kriege das Wort "Impressum" mit dem Link nicht verschoben. Es ist zwar einigermaßen mittig, aber ist im footer selbst zu weit oben und ich krieg es nicht nach unten verschoben
  3. Ich habe in css ein Hintergrundbild eingestellt (damit der ganze Bildschirm abgedeckt ist). Nun möchte ich es aber so gestalten, dass anfangs das Hintergrundbild zu sehen ist und erst wenn man runter scrollt, soll der Text nach dem Bild kommen, anstatt auf dem Bild selbst
  4. Mein footer bleibt fest in einer Position, nämlich kurz vor Ennde des Hintergrundbildes, heißt sobald ich scrollen würde, wäre mein footer mitten drin, anstatt ganz am Ende der Seite. Ich habe alle möglichen position tags versucht, aber irgendwie scheint es nicht zu funktionieren

Kennt sich hier jemand gut damit aus und kann mir dabei weiterhelfen?

Ich bedanke mich schonmal sehr im vorraus.

Grüße Alex

Bild zum Beitrag
Homepage, HTML, Webseite, programmieren, CSS, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung
Website HTML und CSS Fehler?

Hallo,

ich soll als Hausaufgabe eine Website (nur HTML und CSS) programmieren (wir haben bis jetzt nur die Basics gemacht).

Ich habe nun die Grundstruktur in HTML so gemacht, wie ich es brauche und bin nun beim CSS Teil angekommen, welcher mir etwas Kopfschmerzen bereitet.

Ich habe mal Screenshots vom bisherigen Code eingefügt (Die Website soll laut Lehrer ganz einfach sein, das Impressum muss nur einen Beispieltext enthalten und den Code für den footer aus der Landingpage habe ich noch nicht an die anderen Seiten angepasst, da ich noch mit CSS am experimentieren war).

Falls der Code an sich besser weiterhilft, habe ich hier noch den Dropbox Link:
https://www.dropbox.com/scl/fi/fgwyg3w7m4hfqdnbl3f3n/Website.zip?rlkey=1ea3d4quzggbn8xgnk9x9gvk3&dl=0

Nun habe ich folgende Probleme/Dinge, die ich auf der Website haben möchte, aber nicht hinbekomme:

  • Ich möchte einen festen Header haben (wie der auf gutefrage), bei welchem die anderen Seiten mittig angeordnet sind
  • Der footer soll wie bei Amazon ganz unten sein und auch in einem farbigen Kasten, welcher sich über den ganzen Bildschirm zieht
  • Die Texte im Footer sollen einmal links(2023), mittig(impressum) und rechts(Namen) ausgerichtet sein (irgendwie konnte ich den Link zum Impressum nicht verschieben)
  • Die Seite muss nicht 100% responsible sein, sondern soll sich nur an verschiedene Browser anpassen (Laut Lehrer mit Hilfe von prozentualen Werten anstatt Pixeln)
  • Auf der Landingpage möchte ich das Hintergrundbild haben und der Text (welchen ich noch hinzufügen muss) soll erst nach dem Bild kommen, wenn man runter scrollt
  • Auf der Impressum Seite soll der Beispieltext zum Uhrheberrecht nicht von ganz links nach ganz rechts auf dem Bildschirm gehen, sondern nur bis zu etwa der Mitte und dann einen Zeilenumbruch (soll sich nicht verschieben, wenn ich es mit anderem Browser benutze)

Ich habe schon selbst versucht, die oben genannten Dinge irgendwie zu fixen, aber entweder klappt es nicht oder meine Website stellt sich einmal auf den Kopf. Da wir auch erst die Basics in CSS hatten, weiß ich leider nicht mehr, als das, was ich schon gemacht habe.

Es wäre sehr hilfreich, wenn mir einer, der sich damit auskennt, weiterhelfen könnte und mir erklären kann, wie ich die oben genannten Kriterien umsetzen kann.

Ich bedanke mich schonmal sehr bei euch.

Grüße Alex

Bild zum Beitrag
HTML, Webseite, programmieren, CSS, HTML5, Code, Informatik, Programmiersprache, Webdesign, Webentwicklung, Website Design
Wie kann ich die Fehler von PHP einzeln in der Unity-Konsole ausgeben?

Hallo,

wie schaffe ich es, die Fehler zu splitten und wenn es z.B. zwei Fehler sind, beide einzeln in Unity in der Konsole auszugeben?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using TMPro;
using System;
using Newtonsoft.Json;

public class RegisterUser : MonoBehaviour
{
  public TMP_InputField EmailInput;
  public TMP_InputField UsernameInput;
  public TMP_InputField PasswordInput;

  private void Update()
  {
  }

  public void RegisterButton()
  {
    StartCoroutine(Register(EmailInput.text, UsernameInput.text, PasswordInput.text));
  }

  IEnumerator Register(string email, string username, string password)
  {
    string url = "geheim";

    WWWForm form = new WWWForm();
    form.AddField("email", email);
    form.AddField("username", username);
    form.AddField("password", password);

    using (UnityWebRequest www = UnityWebRequest.Post(url, form))
    {
      yield return www.SendWebRequest();

      if www.result != UnityWebRequest.Result.Success)
      {
        Debug.Log("Error: " + www.error);
      }
      else
      {
        // hier Fehler checken
      }
    }
  }
}

Meine PHP if-Abfrage, wo mögliche Fehler ermittelt werden:

if (blablazeug) {
  if ($resultemail->num_rows > 0) {
    echo  "1"; // errorcode for already used email
  }

  if ($resultuser->num_rows > 0) {
    echo  "2"; // error code for already used username
  }

  if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    echo  "3"; // error code for wrong email
  }

  if (strlen($username) < 4 || strlen($username) > 10 || !preg_match('/^[a-zA-Z0-9]+$/', $username)) {
    echo  "4"; // error code for wrong username conditions
  }

  if (strlen($password) < 6 || strlen($password) > 20 || !preg_match('/[0-9]+/', $password) || !preg_match('/[A-Z]+/', $password) || !preg_match('/[a-z]+/', $password) || !preg_match('/[.,!@#$%^&*()\-_=+{};:?]+/', $password)) {
    echo "5"; // error code for wrong password conditions
  }

  die();
}
C Sharp, Error, PHP, Programmiersprache, Visual Studio, Unity
Java / Schiffe versenken: Wie kann ich dafür sorgen, dass die Schiffe nur horizontal und vertikal platziert werden können?

Ich habe diesen Schiffe-versenken-Code geschrieben. Jetzt weiß ich allerdings nicht, wie ich dafür sorgen kann, dass die Schiffe nur horizontal und vertikal plaziert werden können. Das soll durch if-Verzweigungen geregelt werden.

import javax.swing.JOptionPane;

public class Schiffeversenken {
  public static void main(String[] args) {
    // Spielfelderstellung
    int größefeld = Integer.parseInt(JOptionPane.showInputDialog("Wie groß soll das Spielfeld sein?"));
    String[][] spielerarray = new String[größefeld][größefeld];

    // Spielfeld leere Felder Befüllung
    for (int i = 0; i < spielerarray.length; i++) {
      for (int j = 0; j < spielerarray.length; j++) {
        spielerarray[i][j] = "o";
      }
    }

    // Anzahl Schiffe
    int anzahlschiffe = Integer.parseInt(JOptionPane.showInputDialog("Wie viele Schiffe hast du?"));

    for (int i = 0; i < anzahlschiffe; i++) {
      // Größe des Schiffes
      int größeschiff = Integer.parseInt(JOptionPane.showInputDialog("Wie groß ist dein " + (i + 1) + " Schiff?"));

      for (int j = 0; j < größeschiff; j++) {
        // Koordinateneingabe
        JOptionPane.showMessageDialog(null, "Wähle Koordinaten von 0-" + (spielerarray.length - 1));
        int koordinate1;
        int koordinate2;
        koordinate1 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 1 Koordinate des "+ (j + 1) + " Teil deines Schiffs?"));
        koordinate2 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 2 Koordinate des "+ (j + 1) + " Teil deines Schiffs?"));
        spielerarray[koordinate1][koordinate2] = "x";
      }
    }

    // Ausgabe Spielfeld
    for (int i = 0; i < spielerarray.length; i++) {
      for (int x = 0; x < spielerarray.length; x++) {
        System.out.print(spielerarray[x][i] + " ");
      }

      System.out.println();
    }
  }
}
Java, Array, Programmiersprache, Algorithmus
HTML/CSS?

Hallo,

ich möchte das container (das graue Box) ganz nach unten schieben. Aber es funktioniert nicht. ich habe schon align-items ausprobiert, justify-content aber es geht nicht(((((((. Vielleicht findet ihr einen Fehler in meinem Code. Bitte helft mir.

P.S Wir dürfen nicht margin, position etc. benutzen da diese Hausaufgaben nur mit Flexbox gemacht werden sollen (Unser aktuelles Thema).

CSS-CODE:

* {
    margin: 0;
    box-sizing: border-box;
}


.layout2 {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    flex-direction: column;
}


.container {
    height: 150px;
    width: 1425px;
    background-color: rgb(80, 98, 104);
}


.item {
    background-color: rgb(39, 185, 171);
    width: 120px;
    height: 50px;
    color: #fff;
    font-weight: bold;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: large;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}


.item1 {
    background-color: rgb(193, 67, 67);
    width: 115px;
    height: 50px;
    color: #fff;
    font-weight: bold;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: large;
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}


.item2 {
    background-color: rgb(112, 29, 189);
    width: 80px;
    height: 90px;
    color: #fff;
    font-weight: bold;
    font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
    font-size: small;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: column;
}


.item3 {
    background-color: rgba(112, 29, 189, 0);
    width: 80px;
    height: 110px;
    display: flex;
    text-align: center;
    justify-content: center;
    flex-direction: column;
}


.box1 {
    background-color: burlywood;
    height: 150px;
    width: 900px;
    display: flex;
    justify-content: flex-start;
}

HTML-CODE:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Flexbox</title>
    <link rel="stylesheet" href="../CSS/style.css">
  </head>
  <body>
    <header>
      <div class="layout2">
        <nav>
          <div class="container">
            <ul>
              <li>
                <a class="item1" href="#">LOGO</a>
              </li>
            </ul>
          </div>
        </nav>
      </div>
    </header>
  </body>
</html>

DAnkeschön LG

HTML, Webseite, CSS, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend
HTML/CSS?

Hallo,

ich möchte Abstand nach unten, rechts, links beim header, aber ich darf nicht margin, position, gap etc. benutzen also nur flexbox (das ist ja auch unser aktuelles thema).

P.S. Es sollte am Ende wie auf Bild 2 aussehen

CSS-Code:

*{
 margin: 0;
 box-sizing: border-box;
}
.main {
 display: flex;
 justify-content: center;
}
.layout {
 display: flex;
 justify-content: center;
}
.container {
 height: 130px;
 width: 100%;
 background-color:rgb(80, 98, 104);
 display: flex;
 justify-content: space-around;
 align-items: center;
}
.item {
 background-color: rgb(39, 185, 171);
 width: 120px;
 height: 50px;
 color: #fff;
 font-weight: bold;
 font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
 font-size: large;
 display: flex;
 justify-content: center;
 flex-direction: column;
 text-align: center;
}
.item1 {
 background-color: rgb(193, 67, 67);
 width: 115px;
 height: 50px;
 color: #fff;
 font-weight: bold;
 font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
 font-size: large;
 display: flex;
 justify-content: center;
 flex-direction: column;
 text-align: center;
}
.item2 {
 background-color: rgb(112, 29, 189);
 width: 80px;
 height: 90px;
 color: #fff;
 font-weight: bold;
 font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
 font-size: small;
 display: flex;
 text-align: center;
 justify-content: center;
 flex-direction: column;
}
.item3 {
 background-color: rgba(112, 29, 189, 0);
 width: 80px;
 height: 110px;
 display: flex;
 text-align: center;
 justify-content: center;
 flex-direction: column;
}
.box1 {
 background-color: burlywood;
 height: 150px;
 width: 900px;
 display: inline;
 justify-content: flex-start;
 align-items: center;
 flex-direction: column;
 
}

Würde mich für schnelle Antworten freuen. Danke im Voraus!
LG

Bild zum Beitrag
HTML, Webseite, CSS, HTML5, Code, Programmiersprache, Webdesign, Webentwicklung, Frontend

Meistgelesene Beiträge zum Thema Programmiersprache