Python – die besten Beiträge

JWINF-Trainingsaufgabe "Fischen" (Python)?

Hallo,

ich bereite mich momentan auf den Jugendwettbewerb in Informatik vor. Bei den Trainingsaufgaben bin ich aber auf eine Aufgabe gestoßen, die ich nicht lösen konnte. Gegeben ist das "Insel"-Problem (siehe Aufgabenstellung), bei dem der Roboter die Fische aus den Netzen aufsammeln und auf den Inseln abliefern soll. Soweit nicht sonderlich schwierig, dies lässt sich mit wenigen for-Schleifen und if-Fallunterscheidungen lösen. Das Problem:

  1. Der Roboter darf nur versuchen einen Fisch abzuliefern, wenn er auch einen Fisch transportiert (genauere Informationen siehe Bild mit "Weiteren Hinweisen"). So erledigen sich Schleifen, wie dass der Roboter sich immer bewegen soll und wenn er auf einem Fisch ist diesen aufsammeln soll und wenn er auf einer Insel ist einen Fisch abliefern soll, da es bspw. vorkommt dass zuerst Inseln kommen und erst danach Fische zum aufsammeln.
  2. Die Inseln sind "zufälig", bzw. ohne Muster platziert, d.h. Fisch und Insel sind z.B. nicht immer nur 5 Felder voneinander entfernt. KORREKTUR: Die Grafik ist maßstabsgetreu und die Inseln und Fische sind genau auf den in der Grafik angegebenen Felder, ihre Position verändert sich nicht mehr. Nur ich erkenne hier halt kein Muster.
  3. Man darf nur for-Schleifen und Fallunterscheidungen benutzen, keine while-Schleifen etc.

Ich hoffe dass wer eventuell einen Lösungsvorschlag oder zumindest Tipps und Ideen hat. Vielen Dank im Voraus : )

Bild zum Beitrag
Informatik, Python

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

Probleme mit pip install von Python Packages?

Hi, ich habe Probleme beim installieren von Python Packages.

Auf meinem Laptop habe ich zwei Benutzerkonten, eines für den täglichen gebrauch ohne Adminrechte und das Andere mit Adminrechten, dass ich eigentlich nur für die Instalation von Programmen nutze.

Als Python Version nutze ich Anaconda3, und das läuft auch Problem los. Wenn ich allerdings ein neues Package mittels pip installieren will:

pip install psycopg2

bekomme ich immer diese meldung:

pip : Die Benennung "pip" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ pip install psycopg2
+ ~~~
   + CategoryInfo         : ObjectNotFound: (pip:String) [], CommandNotFoundException
   + FullyQualifiedErrorId : CommandNotFoundException

Auch abfragen nach der Python Version liefern Fehlermeldungen:

py --version
py : Die Benennung "py" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die
Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ py --version
+ ~~
   + CategoryInfo         : ObjectNotFound: (py:String) [], CommandNotFoundException
   + FullyQualifiedErrorId : CommandNotFoundException

Auch Suchen nach "Python" oder "python" liefern diesen Fehler.

Es macht keinen unterschied ob ich hierzu den Terminal von vs Code oder Windows PowerShell nutze.

Hat jemand eine Idee woran das liegen könnte?

Über Hilfe wäre ich wirklich sehr dankbar.

Python, pip, Python 3

Werden Software Entwickler bald durch KIs ersetzt?

Ich mache eine Fachinformatiker Ausbildung und würde nach der Ausbildung in einer öffentlichen Bank arbeiten. Ich habe aber durch Chatgpt die Sorge, dass wir bald durch KIs ersetzt werden.

Ich denke zwar, dass Programmierer immer gebraucht werden, aber als ich Chatgpt verwendet habe, ist mir aufgefallen, wie gut das programmieren kann. Ich habe innerhalb von 3 Minuten ein Programm mit einer Eingabe und Button "geschrieben", was ein Browserfenster öffnet mit der eingegeben Stadt auf Google Maps. Das war viel zu gut! Natürlich ist das nichts Komplexes, aber das zeigt auf jeden Fall, was bald möglich sein wird.

Bei uns in der Firma benutzen wir eigene Frameworks und Libraries, weshalb Chatgpt keine so große Hilfe ist bisher. Aber was wenn diese KI's so gut werden, sodass jeder diese Bankprogramme kreiieren kann. Bzw. was wenn die guten Programmierer so produktiv werden, dass einfach sehr sehr viel weniger Programmierer benötigt werden?

Diese KIs können so viel und werden immer mehr können und das macht mir sehr Angst! Ich überlege auch schon einfach ein Handwerk zu machen. Chatgpt ist natürlich noch keine so große Gefahr. Aber was ist mit besseren Versionen von Chatgpt? Beim jetzigen Fortschritt gebe ich dieser Technologie keine 5 Jahre und ich werde arbeitslos sein.

Mir macht es keine Sorgen, dass Programmierer ersetzt werden, sondern dass einfach der Bedarf für Software Entwickler in 5-10 Jahren sehr stark runtergeht.

Seid einfach ehrlich! Sollte ich die Ausbildung abbrechen und ein Handwerk anfangen oder eine Beamten Ausbildung machen?

Arbeit, Lernen, Studium, Schule, Mathematik, programmieren, Handwerk, Ausbildung, Java, Entwickler, Informatik, künstliche Intelligenz, Python, Softwareentwicklung

Meistgelesene Beiträge zum Thema Python