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
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

Meistgelesene Beiträge zum Thema Programmiersprache