Python: Wie kann ich feld1 bis feld7 so zusammenfassen, sodass ich das nicht alles einzeln eingeben muss?

Hey, ich möchte feld1 bis feld7 so zusammenfassen, sodass ich das nicht alles einzeln eingeben muss. Dazu finde ich nur leider nichts im Internet.

import tkinter as tk from tkinter import *

modul = tk.Tk()
modul.geometry("900x900")
modul.title("Bunt3x3")
modul.resizable(width=False, height=False)

r = "red"
y = "yellow"
g = "green"
b = "blue"

def change():
  if feld1["bg"] == r:
    feld1.config(bg=g)
    feld3.config(bg=g)
    feld5.config(bg=g)
    feld7.config(bg=g)
    feld2.config(bg=b)
    feld4.config(bg=b)
    feld6.config(bg=b)
    feld8.config(bg=b)

    feldlabel.config(text="Rot & gelb")

  elif feld1["bg"] == g:
    feld1.config(bg=r)
    feld3.config(bg=r)
    feld5.config(bg=r)
    feld7.config(bg=r)
    feld2.config(bg=y)
    feld4.config(bg=y)
    feld6.config(bg=y)
    feld8.config(bg=y)

    feldlabel.config(text="Gruen & blau")

feld1 = tk.Frame(bg=r, width=300, height=300)
feld1.grid(column=1, row=1)
feld3 = tk.Frame(bg=r, width=300, height=300)
feld3.grid(column=3, row=1)
feld5 = tk.Frame(bg=r, width=300, height=300)
feld5.grid(column=1, row=3)
feld7 = tk.Frame(bg=r, width=300, height=300)
feld7.grid(column=3, row=3)
feld2 = tk.Frame(bg=y, width=300, height=300)
feld2.grid(column=2, row=1)
feld4 = tk.Frame(bg=y, width=300, height=300)
feld4.grid(column=1, row=2)
feld6 = tk.Frame(bg=y, width=300, height=300)
feld6.grid(column=3, row=2)
feld8 = tk.Frame(bg=y, width=300, height=300)
feld8.grid(column=2, row=3)

feld = tk.Frame(bg="white", width=300, height=300).grid(column=2, row=2)
feldlabel = tk.Label(text="Gruen & blau", bg="white", fg="black", font=("Arial", 15, "bold"))
feldlabel.grid(column=2, row=2)
feldbutton = tk.Button(text="Farbe aendern!", font=("Arial", 15, "bold"), bg="white", fg="black", command=change).place(x=370, y=470)
modul.mainloop()
programmieren, Array, Informatik, Python, Zusammenfassung, Variablen, list, Tkinter
C++ zweidimensionalen Array an Funktion übergeben?

Ja ich weiß das wurde schon hunderte male durchgekaut aber bei Fragen wie dieser geht es meist darum die größe des Arrays zu ermitteln aber mir geht es nur darum den Array zu übergeben und auf ihn zuzugreifen (ich weiß wenn man ihn "normal"(also ohne Zeiger auf ihn)übergibt kann man ihn nicht ändern aber das will ich auch garnicht ich will ihn einfach nur auslesen.(Das ganze soll übrigens mal das spiel des lebens werden)

Hier der Code:

#include<iostream>
#include<windows.h>
using namespace std;
const int x=12; const int y=8;


void ausgeben(char feld[][]){ int j,i;


for(i=0;i<y;i++){


    for(j=0;j<x;j++){


        if(feld[i][j]){             cout<<"#";         }else{             cout<<" ";                         }         }  cout<<endl;


} }


int main(int argc,char* argv[]){ char feld[y][x]{{0,0,1,0,0,0,0,1,0,0,0,0},                 {0,0,1,0,0,0,1,0,0,0,0,0},                 0,0,1,0,,0,1,0,0,0,0,0,0},                 {0,0,1,0,1,0,0,0,0,0,0,0},                 {0,0,1,1,0,0,0,0,0,0,0,0},                 {0,0,1,0,1,0,0,0,0,0,0,0},                 {0,0,1,0,0,1,0,0,0,0,0,0},                 {0,0,1,0,0,0,1,0,0,0,0,0}};


ausgeben(feld);

return 0;
}

Hier die Fehlermeldungen:

||=== Build file: "no target" in "no project" (compiler: unknown) ===|

|8|error: declaration of 'feld' as multidimensional array must have bounds for all dimensions except the first|

||In function 'void ausgeben(...)':|

|15|error: 'feld' was not declared in this scope|

||In function 'int main(int, char)':|

|32|warning: extended initializer lists only available with -std=c++11 or -std=gnu++11|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

|39|warning: overflow in implicit constant conversion [-Woverflow]|

||=== Build failed: 2 error(s), 9 warning(s) (0 minute(s), 1 second(s)) ===|

Und könnte mir jemand noch erklären wie ich die Fehlermeldungen wegbekomme ich verwende Code::Blocks mit dem GNU GCC Compiler ich war schon mal in den entsprechenden Einstellungen allerdings kenne ich mich damit nicht aus und will da nichts verstellen(aber musste ich bereits denn der Compiler verstand Anfangs den neuerern C++ standard nicht obwohl er aktuell ist)

Software, hacken, programmieren, Funktion, Array
Im Array nach einer bestimmten Zahl suchen brauche hilfe?
import java.util.Scanner; 

public class Felder
{
public static void main(String[] args)
{
// Beschreibung des Programms

System.out.println("Erstellung eines Arrays mit n-Feldern");
System.out.println();


//Scanner zur Einagbe der Feldgröße

Scanner sc = new Scanner(System.in);

System.out.print("Bitte geben sie die Größe des Arrays ein ");
int feldgroesse = sc.nextInt();


int[] a = new int[feldgroesse];

System.out.println("Nun füllen Sie das Array mit ganzen Zahlen");
System.out.println();


// Schleife zum füllen des Arrays

for (int i=0; i<feldgroesse;i++)
{
System.out.print("Bitte geben Sie eine Ganzzahl ein: ");
a[i] = sc.nextInt();
}

for (int i; i = 0; i++)
{
if(a[i] = = 5)
{
System out println(„Der Array enthält die gesuchte Zahl: “ + a[i]);
}
}
printFeld(a);
sc.close();
}

public static void printFeld(int[] a)
{

//gibt das Arrays auf der Konsole aus
System.out.println();
System.out.println("Ausgabe des Arrays");
System.out.println();
for (int i=0; i<a.length;i++)
{
System.out.println("Feld "+ i + " = " +a[i]);
}
}
}

Komme nicht weiter bitte mit einer code Antwort helfen hänge seit 3 Tagen an dieser Aufgabe. Danke Eine eigene Methode schreiben(suchIndex(int[] a, int wert)) die eine vom Nutzer abgefragte Zahl im zuvor erstellten Array sucht und wenn es gefunden wird mit dem entsprechenden Index ausgibt

Java, Array, Code, Eclipse, IV
C++ Quersumme errechnen?

Hallo Gutefrage.net Comunity, Ich hab vor einiger Zeit angefangen die Programmiersprache C++ zu lernen. Bisher habe ich viel gelernt. Ich kann Variablen erstellen und initialisieren. Einfache Schleifen mit while, for. Befehle wie cout,cin und if sind auch kein Problem für mich. Sagen wir rinfach ich habe grundfähigkreiten erlernt. Wenn auch nicht alle Grundlegenden Themen behandelt bisher aber schon ein sehr solides Gerüst geschaffen (meiner meinung nach) um weiter diese Programmiersprache vertiefen zu können. Nun zu meiner eigentlichen Frage: Ich stelle mir ein Programm vor (natürlich alles auf der windows konsole) in welches man sein alter eingibt. Das Alter wird in einer integer variable abgespeichert. Danach rechnet das Programm die Quersumme des eingegebenen Alters aus und die quersumme wird als cout ausgegeben. z.B Ich schreibe mein Alter 18 rein. Das Programm errechnet die quersumme (1+8) und schreibt anschließend "9" als ergebnis auf. Zu meinem Problem: Ich kann die integer variable wo das Alter drin steht nicht "zerstückeln" um die beiden ziffern addieren zu können. Ich hab viel gegoogelt und etwas von arrays gelesen. Was arrays sind hab ich grundsätzIch verstanden aber wie ich sie hier anwenden kann? Ich wäre zutiefst froh wenn mir hier ein/e erfahrene/r Programmierer/in einen einfachen Weg aufweisen und somit einem Anfänger helfen könnte. Ich danke fürs durchlesen meiner Frage. Schönen Tag wünsch ich.

Programm, programmieren, Array, Code, Variablen, Integer
Wie programmiere ich "Schiffe versenken" in Java?

Ich möchte gerne Schiffe versenken in Java programmieren und komme gerade nicht weiter...

Hier mein Beispiel-code:

import java.util.*;
public class schiffeversenkken {
  
  public static void main(String[] args) {
    Scanner scan = new Scanner (System.in); 
    
    // Hilfsvariablen
    int x = 0 ;
    int y = 0 ;
    int i = 0 ;
    int j = 0 ;
    int s1 = 0 ;
    int s2 = 0 ;
    int s3 = 0 ;
    
    //Spielfeld
    int [][] feld = new int [10][10] ;
    
    // Ausgabe Spielfeld
    
    for(i = 0; i < feld.length; i++){
      for(j = 0; j < feld.length; j++){
        System.out.print(" [ " + feld[i][j] + " ]" + "\t" ) ;
      }
      System.out.println();
    }
    
    // Schiffe platzieren 
    for (s1=0;s1<3 ;s1++ ) {
      System.out.println("x-Koordinate des Schiffes: ");
      x = scan.nextInt() ;
      System.out.println("y-Koordinate des Schiffes: ");
      y = scan.nextInt() ;
      feld [x][y] = 1 ;
    } // end of for
    
    System.out.println("erstes Schiff platziert!");
    System.out.println(" ");
    
    for (s2=0;s2<3 ;s2++ ) {
      System.out.println("x-Koordinate des Schiffes: ");
      x = scan.nextInt() ;
      System.out.println("y-Koordinate des Schiffes: ");
      y = scan.nextInt() ;
      feld [x][y] = 1 ;
    } // end of for
    
    x = 0 ;
    y = 0 ;
    System.out.println("zweites Schiff platziert!");
    System.out.println(" ");
    
    for (s3=0;s3<3 ;s3++ ) {
      System.out.println("x-Koordinate des Schiffes: ");
      x = scan.nextInt() ;
      System.out.println("y-Koordinate des Schiffes: ");
      y = scan.nextInt() ;
      feld [x][y] = 1 ;
    } // end of for
    
    x = 0 ;
    y = 0 ;
    System.out.println("drittes Schiff platziert!");
    System.out.println(" ");
    
    // neues Spielfeld ausgeben
    for(i = 0; i < feld.length; i++){
      for(j = 0; j <feld.length; j++){
        System.out.print("[" + feld[i][j] + "]" + "\t");     
      }
      System.out.println();
      
      
    } // end of main
    
  } // end of class schiffeversenkken
}

Meine Probleme sind jetzt, dass die Schiffe, die ich platziere sehe (Position durch "1" erkennbar, leere Felder gekennzeichnet durch "0" ). Diese möchte ich jedoch verbergen. Ich hab schon drüber nachgedacht es so zu lösen:

Ich vergleiche [x] [y] mit dem Wert "1". Trifft dies zu, lasse ich per System.out.print "feld [x][y] ausgeben (sorry ich kann an dieser Stelle leider keinen Quellcode einfügen :/ )

Das funktioniert leider nicht so, wie ich es mir vorgestellt hab :D

Eine weitere Möglichkeit wäre auch, die Schiffe per Zufall erstellen zu lassen, jedoch weiß ich da auch nicht so genau wie ich das anstellen soll.

Es wäre vermutlich auch mehr als praktisch sämtliche Aktionen in Methoden zu packen, was ich bis jetzt aber noch nicht gemacht habe, da ich relativ unvorbereitet an dieses Pogramm herangetreten bin...

Ich freue mich über schnelle Antworten :)

Schiff, programmieren, Java, get, Array, versenden, Schiffe versenken, Set

Meistgelesene Fragen zum Thema Array