Code – die besten Beiträge

stern im tkinter code?

Hallo,

ich soll eine Flagge mit Python und tkinter machen, ich wollte gern die Chile Flagge machen. Die Grundlage habe ich, jetzt fehlt nur noch der Stern. Im Internet hab ich also versucht einen Code zu finden, dieser funktioniert jedoch nicht und folgende Fehlermeldung taucht auf:

 %Run Flagge_Chile.py

Traceback (most recent call last):

 File "F:\WI\01_Python OOP WI\01_Objekte und Klassen\L1_1_Aufgabe_Flagge_HA_Chile.py", line 141, in <module>

  s.zeichnen()

 File "F:\WI\01_Python OOP WI\01_Objekte und Klassen\L1_1_Aufgabe_Flagge_HA_Chile.py", line 83, in zeichnen

  canvas.create_line(self.pos_x0, self.pos_y0, self.pos_x1, self.pos_y1, self.pos_x2, self.pos_y2, self.pos_x3, self.pos_y3, self.pos_x4, self.pos_y4, fill=self.farbe, outline=self.farbe)

 File "F:\S20\Programme\Thonny_3.2.3\lib\tkinter\__init__.py", line 2492, in create_line

  return self._create('line', args, kw)

 File "F:\S20\Programme\Thonny_3.2.3\lib\tkinter\__init__.py", line 2480, in _create

  *(args + self._options(cnf, kw))))

_tkinter.TclError: unknown option "-outline"

Das ist der Programmcode:

import tkinter as tk

class Rechteck:

  # Initialisiert ein Rechteck Objekt mit Standardwerten

  def __init__(self):

    self.breite = 0

    self.hoehe = 0

    self.pos_x = 0

    self.pos_y = 0

    self.farbe = "black"

  def __str__(self):

    return "Dies ist die Klasse 'Rechteck'"

  # Malt auf ein übergebenes "tk.Canvas" Objekt das Rechteck

  def zeichnen(self):

    x_ende = self.pos_x + self.breite

    y_ende = self.pos_y + self.hoehe

    canvas.create_rectangle(self.pos_x, self.pos_y, x_ende, y_ende, fill=self.farbe, outline=self.farbe)

class Kreis:

  def __init__(self):

    self.pos_x = 0

    self.pos_y = 0

    self.radius = 0

    self.farbe = "black"

  def __str__(self):

    return "Dies ist die Klasse 'Kreis'"

  # Malt auf ein übergebenes "tk.Canvas" Objekt den Kreis

  def zeichnen(self):

    # berechne Postion bis wohin gezeichnet werden muss, abhängig vom Radius

    x_beginn = self.pos_x - self.radius

    y_beginn = self.pos_y - self.radius

    x_ende = self.pos_x + self.radius

    y_ende = self.pos_y + self.radius

    canvas.create_oval(x_beginn, y_beginn, x_ende, y_ende, fill=self.farbe, outline=self.farbe)

     

class Stern:

  def __init__(self):

    self.pos_x0 = 0

    self.pos_y0 = 0

    self.pos_x1 = 0

    self.pos_y1 = 0

    self.pos_x2 = 0

    self.pos_y2 = 0

    self.pos_x3 = 0

    self.pos_y3 = 0

    self.pos_x4 = 0

    self.pos_y4 = 0

    self.farbe = "black"

    self.outline = "black"

     

  def __str__(self):

    return "Dies ist die Klasse 'Stern'"

     

  def zeichnen(self):

    canvas.create_line(self.pos_x0, self.pos_y0, self.pos_x1, self.pos_y1, self.pos_x2, self.pos_y2, self.pos_x3, self.pos_y3, self.pos_x4, self.pos_y4, fill=self.farbe, outline=self.farbe)

     

if __name__ == '__main__':

  # GUI Klasse initialisieren

  application = tk.Tk()

  # Hinzufügen einer Zeichenfläche

  canvas = tk.Canvas(application, width=600, height=400)

  canvas.pack()

 

 

  r = Rechteck()

  r.pos_x = 30

  r.pos_y = 30

  r.breite = 200

  r.hoehe = 200

  r.farbe = "blue"

  r.zeichnen()

   

  r.pos_x = 230

  r.pos_y = 30

  r.breite = 390

  r.hoehe = 200

  r.farbe = "white"

  r.zeichnen()

   

  r.pos_x = 30

  r.pos_y = 230

  r.breite = 600

  r.hoehe = 220

  r.farbe = "red"

  r.zeichnen()

   

  s = Stern()

   

  s.pos_x0 = 40

  s.pos_y0 = 70

  s.pos_x1 = 60

  s.pos_y1 = 40

  s.pos_x2 = 80

  s.pos_y2 = 70

  s.pos_x3 = 40

  s.pos_y3 = 50

  s.pos_x4 = 80

  s.pos_y4 = 70

  s.outline = "red"

  s.zeichnen()

 

  # Fokus auf die GUI legen und starten

  tk.mainloop()

Weiß jemand wo der Fehler ist und könnte mir helfen?
Im Voraus schonmal Dankeschön.

programmieren, Code, Informatik, Programmiersprache, Python, Programmcode, Tkinter

Schere ,Stein, Papier in Java?

Hallo, ich bin noch Anfänger in Java und kenne mich nicht besonders gut mit dem Programm aus. Wollte deshalb als Übung Schere, Stein Papier programmieren. Habe im Prinzip ein fertiges Programm, doch wenn ich die erste Antwort eingebe, wird mir eine Fehlermeldung angezeigt. Könnte mir jemand erklären was diese bedeutet und was ich an meinem Code verändern muss?

Code:

import java.util.Scanner;

public class scheresteinpapier {

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in); 

    int runden= 0;

    int schere = 1;

int stein = 2;

int papier = 3;

    int user=0;

    int pc=0;

   int userchoice;

   

   double pcchoice;

     

    while(runden<3)

    {

      System.out.print("Waehle Schere, Stein oder Papier.");

pcchoice = (int) (Math.random()*3);  

    userchoice = scanner.nextInt();

    if (userchoice==schere)

{

  if(pcchoice==schere)

  {

    System.out.print("Unentschieden!");

  }

  else if(pcchoice==stein){

    System.out.print("Der PC hat diese Runde gewonnen!");

    pc++;

  }

  else{

    System.out.print("Du hast diese Runde gewonnen!");

     user++;

  }

}  

else if (userchoice==stein)

{

  if(pcchoice==schere)

  {

   System.out.print("Du hast diese Runde gewonnen!");

   user++;

  }

  else if(pcchoice==stein){

    System.out.print("Unentschieden!");

  }

  else{

   System.out.print("Der PC hat diese Runde gewonnen!");

   pc++;

  }

}  

else {

  if(pcchoice==schere)

  {

   System.out.print("Der PC hat diese Runde gewonnen!");

   pc++;

  }

  else if(pcchoice==stein){

    System.out.print("Du hast diese Runde gewonnen!");

    user++;

  }

  else{

     System.out.print("Unentschieden!");

  }

}  

    runden+=1;

    }

    if (pc==user)

    {

      System.out.print("Das Spiel ist unentschieden ausgangen!");

    }

    else if (pc<user){

       System.out.print("Du hast das Spiel gewonnen!");

    }

    else{

       System.out.print("Der Pc hast das Spiel gewonnen!");

    }

  }

}

Fehlermeldung:

ERROR!

Exception in thread "main" java.util.InputMismatchException

at java.base/java.util.Scanner.throwFor(Scanner.java:939)

at java.base/java.util.Scanner.next(Scanner.java:1594)

at java.base/java.util.Scanner.nextInt(Scanner.java:2258)

at java.base/java.util.Scanner.nextInt(Scanner.java:2212)

at scheresteinpapier.main(scheresteinpapier.java:21)

Java, Code

Hangman in Python?

Hallo Leute.

Wir haben in der Schule die Aufgabe bekommen mithilfe von Python das Spiel hangman zu erstellen. An sich alles gut und schön.
Wir dürfen auf YouTube nach Video gucken usw. jedoch keinen Zettel mit nehmen. Insgesamt haben wir über 2 Wochen verteilt 4 Stunden Zeit.
Bei uns auf den Computern hat unser Lehrer uns eine Datei namens Idle geschickt und Python freigeschaltet. Das war seit dem wir mit dem Thema Python angefangen haben so. Wir haben also die Idle Datei kopiert und dann in Python eingefügt. Dann kam immer Python. Das war so ein Tab mit schwarzem Hintergrund. Dann kam gleichzeitig noch 2 weiße Dateien. Die eine war zum schreiben und die andere hat als wir auf „Run“ gedrückt haben alles ausgeführt. Den schwarzen tab haben wir auch immer geschlossen. Also oben rechts nicht auf das x sondern auf das - geklickt. Auf den beiden Weißen Dateien wurde hauptsächlich gearbeitet.
Jetzt habe ich auf YouTube einige Tutorials gefunden, jedoch bin ich mir nicht sicher ob die auch auf unseren Computern funktionieren. Die sagen alle nur Python und es sieht nicht wie bei uns aus. Die meisten kamen nicht aus Deutschland darum bin ich mir nicht sicher, ob es einfach ein anderes Layout ist.
Könnte mir da jemand irgendwie behilflich sein? Wenn jemand ein paar links haben will stelle ich diese gerne zur Verfügung. (Ich meine von den Tutorials die ich mir angesehen habe).
Und falls es auch noch wichtig ist: Ich bin in der 10ten Klasse an einem Gymnasium. Informatik ist mein WP2 Fach (Wahlpflichtfach)

Tutorial, Schule, Technik, Programm, Code, Programmiersprache, Python

Meistgelesene Beiträge zum Thema Code