Mein Python Code funktioniert nicht?

Guten Abend erst einmal,

ich habe versucht mittels Python ein Mau Mau spiel zu erstellen, aber wenn ich es ausprobieren will, zeigt mir das Programm mitten im code " invalid Syntax " an.

Kann einer von euch mal bitte drüber schauen und mir sagen, was fehlt?

Hier ist der Code (,was mir als Fehler angezeigt wurde habe ich markiert( es ist das deck.shuffel ())).

import random

class Card:

 def __init__(self, value, suit):

  self.value = value

  self.suit = suit

   

 def __repr__(self):

  return f"{self.value} of {self.suit}"

class Deck:

 suits = ["Hearts", "Diamonds", "Spades", "Clubs"]

 values = ["Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"]

 def __init__(self):

  self.cards = [Card(value, suit) for suit in self.suits for value in self.values]

 def shuffle(self):

  random.shuffle(self.cards)

   

 def deal(self):

  return self.cards.pop()

class Player:

 def __init__(self, name):

  self.name = name

  self.hand = []

 def draw(self, deck):

  self.hand.append(deck.deal())

 def play_card(self, card):

  self.hand.remove(card)

class AIPlayer(Player):

 def choose_card(self, top_card):

  for card in self.hand:

   if card.value == top_card.value or card.suit == top_card.suit:

    return card

  return self.hand[0]

def play_game():

 deck = Deck()

...  deck.shuffle()

...  

...  player = Player("Player")

...  ai = AIPlayer("AI")

...  

...  for i in range(7):

...   player.draw(deck)

...   ai.draw(deck)

...  

...  top_card = deck.deal()

...  

...  while len(player.hand) > 0 and len(ai.hand) > 0:

...   print(f"Top card: {top_card}")

...   print(f"{player.name}'s hand: {player.hand}")

...   

...  chosen_card = player.play_card(player.hand[int(input("Choose a card to play (index): "))])

...   if chosen_card.value == top_card.value or chosen_card.suit == top_card.suit:

...    top_card = chosen_card

...   else:

...    player.draw(deck)

...    print(f"{player.name} drew a card.")

...   

...   if len(ai.hand) > 0:

...    chosen_card = ai.choose_card(top_card)

...    print(f"{ai.name} played {chosen_card}.")

...    if chosen_card.value == top_card.value or chosen_card.suit == top_card.suit:

...     top_card = chosen_card

...    else:

...     ai.draw(deck)

...     print(f"{ai.name} drew a card.")

...   

...  if len(player.hand) == 0:

...   print(f"{player.name} wins!")

...  else:

...   print(f"{ai.name} wins!"

>>> [DEBUG ON]

>>> [DEBUG OFF]

programmieren, Programmiersprache, Python, Mau-Mau, Python 3
Java vs C#: Welche Sprache eignet sich besser für Backend-Entwicklung?

Hallo zusammen,

Ich habe vor etwa einem Monat angefangen, Python zu lernen und es macht mir unglaublich viel Spaß. Ich möchte unbedingt Programmierer werden, aber ich kann mich nicht zwischen Java und C# entscheiden. Studieren ist für mich keine Option und eine Fachinformatiker-Ausbildung kommt ebenfalls nicht in Frage.

Ich möchte betonen das ich lieber Back End programmiere als Front end, das ist die Richtung wo ich mich spezialisieren möchte.

Der einzig für mich sinnvolle Weg ist eine Ausbildung beim WIFI. Dort gibt es die Möglichkeit, entweder die Ausbildung zum/zur geprüften Software Developer:in C# für Einsteiger: innen oder die Ausbildung zum/zur geprüften Software Developer:in Java zu absolvieren. Finanziell wäre das kein Problem, da die Kosten übernommen werden.

https://www.wifiwien.at/kurs/18172x-ausbildung-zum-geprueften-software-developer-c-fuer-einsteigerinnen

https://www.wifiwien.at/kurs/18171x-ausbildung-zum-geprueften-software-developer-java-fuer-einsteigerinnen

Ich bin mir unsicher, welche der beiden Ausbildungen die richtige Wahl für mich wäre. Welche der beiden Sprachen würdet ihr mir empfehlen und warum? Welche Vorteile und Nachteile haben sie im Vergleich zueinander für Backend Entwicklung?

Ich bin für jeden Rat und jede Hilfe dankbar.

Vielen Dank im Voraus!

Java, C Sharp, Programmiersprache, Junior, Backend-Developer
Was mache ich falsch JavaScript?

Ich habe eine Datei mit allein zahlen von 1-100 in einem Array und will nur die letzten 20 es kommt aber immer ein Fehler.

Quellcode:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script>

window.setInterval("AutoUpdate()",parseInt(2000));  

function AutoUpdate()
{      
        $.ajaxSetup({ cache: false });
        $.get('LetzteZeilen.txt', function(data) 
        {   
            data = data.replace(/\n/g, "</br>");
            LetzteZeilen(data);
            if (data == 1) 
            {
                location.reload();
            }
        });     
}

function LetzteZeilen(data)
{
    Test = new Array();
    DataSplit = data.split("</br>");


    LetzteZeilen = 20;
    Laenge = DataSplit.length;
    NichtGewollteZeilen = (Laenge-LetzteZeilen);
    i = 0;
    x = 0;
    
    while (i < Laenge) 
    {
        if(i < NichtGewollteZeilen)
        {
            i++;
        }
        else
        {
            Test[x] = DataSplit[i];
            i++;
            x++;
        }
    }

    console.log(Test);
}
</script>
Fehler:
Uncaught TypeError: LetzteZeilen is not a function
    at Object.success (LetzteZeilenTest.php:16:13)
    at j (jquery.min.js:2:26911)
    at Object.fireWith [as resolveWith] (jquery.min.js:2:27724)
    at x (jquery.min.js:4:11065)
Webseite, JavaScript, Programmiersprache, Webentwicklung
PyQT6 Code - Zufällige Buchstaben?

Ich habe diesen Code geschrieben:

import random
import sys
from PyQt6.QtCore import Qt, QSize
from PyQt6.QtGui import QPixmap, QFont
from PyQt6.QtWidgets import QApplication, QLabel, QMainWindow, QPushButton
from PyQt6.QtWidgets import (
    QApplication,
    QCheckBox,
    QComboBox,
    QDateEdit,
    QDateTimeEdit,
    QToolBar,
    QDial,
    QDoubleSpinBox,
    QFontComboBox,
    QLabel,
    QLCDNumber,
    QLineEdit,
    QMainWindow,
    QProgressBar,
    QPushButton,
    QRadioButton,
    QSlider,
    QSpinBox,
    QTimeEdit,
    QVBoxLayout,
    QWidget,
)


from PyQt6.QtWidgets import (QWidget, QLabel, QLineEdit,
        QTextEdit, QGridLayout, QApplication)


class SushiCreator(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setFixedSize(QSize(300, 200))
        self.setWindowTitle("Sushi Creator")
        self.setStyleSheet("background-color: lightblue;")


        self.start_button = QPushButton("Starten", self)
        self.start_button.move(105, 75)
        self.start_button.clicked.connect(self.start_clicked)
        
    def start_clicked(self):
        self.setFixedSize(QSize(1000, 1000))
        self.start_button.hide()


        letters = 'a' + 'b'+ 'c' + 'd' + 'e' + 'f' + 'g' + 'a' + 'h' + 'c'  
        random_letters = ''.join(random.choice(letters) for i in range(5))


        


        self.letters_edit = QPushButton(self)
        self.letters_edit.setText(random_letters)
        self.letters_edit.setFont(QFont("Arial", 200))
        self.letters_edit.setStyleSheet("background-color: cyan; color: black;")
        
        
     
        
    
        


if __name__ == '__main__':
    app = QApplication(sys.argv)
    sushi_creator = SushiCreator()
    sushi_creator.show()
    sys.exit(app.exec())

Es entsteht ein hellblaues Fenster mit einem "Start" Knopf. Nach Betätigung wird dieser versteckt und das Fenster groß. Leider sind keine Buchstaben zu sehen. Kann mir jemand helfen?

Programmiersprache, Python, Qt, Python 3
Wie kriege ich den Response der API in mein TextViewField in Android Studio?

Hallo,

momentan sitze ich daran, eine Android App mit Android Studio zu entwickeln. Die App soll GET und POST benutzen können, um mit einer API arbeiten zu können.

Soweit funktioniert das auch alles. Meine Frage bezieht sich hier auf Folgendes:

Ich habe in der MainActivity den TextView TW_Rueckgabe. Hier soll der Response der POST-Funktion gespeichert werden, da ich den gerne in der App anzeigen lassen will.

Nun habe ich aber bereits ein paar Sachen ausprobiert, allerdings vergebens.

Nun zu meiner eigentlichen Frage:

Wie kriege ich hin, das der Response der POST-Klasse in dem TextView TW_Rueckgabe gespeichert wird?

Danke im Voraus.

MfG

MainActivity.java

final TextView[] TW_Rueckgabe = {
  findViewById(R.id.textViewRueckgabe)
};
Button sendBtn = findViewById(R.id.sendBtn);
sendBtn.setOnClickListener(v -> {
  String POST_url = "http://dphost.ddns.net:1573/cool/post.php";
  String requestData = "data=" + TW_Benutzername.getText().toString();
  POSTRequestTask test = (POSTRequestTask) new POSTRequestTask().execute(POST_url, requestData);
  TW_Rueckgabe[0].setText(test.fetching_data);
});

POSTRequestTask.Java

class POSTRequestTask extends AsyncTask<String, Void, String> {
  @Override
  protected String doInBackground(String... params) {
    String url = params[0];
    String requestData = params[1];
    String response = "";

    try {
      URL obj = new URL(url);
      HttpURLConnection con = (HttpURLConnection) obj.openConnection();

      // add request header
      con.setRequestMethod("POST");
      con.setDoOutput(true);

      // add request data
      DataOutputStream wr = new DataOutputStream(con.getOutputStream());
      wr.writeBytes(requestData);
      wr.flush();
      wr.close();

      int responseCode = con.getResponseCode();
      System.out.println("\nSending 'POST' request to URL : " + url);
      System.out.println("Response Code : " + responseCode);

      BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
      String inputLine;
      StringBuffer responseBuffer = new StringBuffer();

      while ((inputLine = in.readLine()) != null) {
        responseBuffer.append(inputLine);
      }

      in.close();
      response = responseBuffer.toString();
    }
    catch (IOException e) {
      e.printStackTrace();
    }

    return response;
  }

  @Override
  protected void onPostExecute(String result) {
    // print result
    System.out.println("\n\n\n" + result + "\n\n\n");
    fetching_data = result;
  }

  public String returnString() {
    return fetching_data;
  }
}
Java, Android, Android App, Programmiersprache, Android Studio
Zahl mit Arduino an MySQL Datenbank senden?

Moin,

Vielleicht kann mir jemand helfen. Ich will, dass mein Arduino den Wert einer stinknormalen Variable an eine MySQL-Datenbank schickt. Ich bin mehr oder weniger am Verzweifeln, weil mir niemand helfen kann... Es kann doch nicht so schwer sein, ne blöde Zahl irgendwie in Form einer Variable an die Datenbank zu senden...

Ich benutze einen normales Arduino Uno, und ein W5100 ethernet shield

Mein bisheriger Ansatz war so: (Logindaten der Datenbank entfernt)

#include <Ethernet.h>

#include <MySQL_Connection.h>

#include <MySQL_Cursor.h>

byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress server_addr('localhost'); 

char user[] = "root";       

char password[] = "secret";    

// Sample query

char INSERT_SQL[] = "INSERT INTO Test (Sensor) VALUES ('3')";

EthernetClient client;

MySQL_Connection conn((Client *)&client);

void setup() {

 Serial.begin(115200);

 while (!Serial);

 Ethernet.begin(mac_addr);

 Serial.println("Connecting...");

 if (conn.connect(server_addr, 3306, user, password)) {

  delay(1000);

 }

 else

  Serial.println("Connection failed.");

}

void loop() {

 delay(2000);

 Serial.println("Recording data.");

 

 MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);

 cur_mem->execute(INSERT_SQL);

 delete cur_mem;

}

SQL, HTML, Webseite, programmieren, Java, Cplusplus, Arduino, Datenbank, MySQL, PHP, Programmiersprache, Python, Softwareentwicklung, Webentwicklung, phpMyAdmin, Raspberry Pi
Java: Wie kann ich den Artikelpreis von einer Artikelliste ändern?

Hallo,

ich habe eine Klasse für die Verwaltung von Artikeln, die eine Bezeichnung, Nummer und einen Preis haben. Ich möchte hier den Preis mit einen gegebenen Prozent ändern.

Die Methode nimmt eine Liste von Artikeln und einen Prozent und ändert den Preis der Artikel. Die Methode habe ich im Kommentar gemacht.

import java.util.Arrays;

public class Article {
  private String bezeichnung; // ArtikelTitel
  private long artikelNr; // Artikelnummer
  private static double preis; // Einzelpreis des Artikels
  private static long AnzahlArtikel;
  private static long nextArtikelNr = 100;

  public Article(String bezeichnung, double preis) {
    this.bezeichnung = bezeichnung;
    Article.preis = preis;
    this.artikelNr = Article.nextArtikelNr++;
    Article.AnzahlArtikel++;
  }

  public Article(String bezeichnung) {
    this(bezeichnung, 0.0);
  }

  public long getartikelNr() {
    return this.artikelNr;
  }

  public String getbezeichnung() {
    return this.bezeichnung;
  }

  public static long getAnzahlArtikel() {
    return Article.AnzahlArtikel;
  }

  public double getPreis() {
    return Article.preis;
  }

  /*
   * public static void changePrices(Article[] articles, double percentage) {
   *
   * if (articles == null || articles.length == 0 || percentage < 0) {
   * return;
   * } else {
   * // Article[] result = new Article[articles.length];
   * double percentageArtikel;
   *
   * for (int i = 0; i < articles.length; i++) {
   * percentageArtikel = artciles[i].getPreis() * percentage;
   * preis += percentageArtikel;
   * }
   * }
   * return;
   *
   * }
   */

  public String toString() {
    return artikelNr + ", " + bezeichnung + ", " + preis;
  }
}
Java, Array, Programmiersprache

Meistgelesene Beiträge zum Thema Programmiersprache