Programmieren – die neusten Beiträge

CSS 3D-Würfel: Wie kann ich die Rückseite so wie die anderen Würfelseiten bewegen lassen?

Ich habe einen 3D-Würfel per CSS erstellt und würde ihm nun gerne eine 3D-Animation beim Hovern verleihen.

An sich komme ich auf das richtige Ergebnis, aber irgendwie verstehe ich die Rotation der Rückseite nicht und würde gerne wissen, wie ich sie so wie die anderen Würfelseiten bewegen lasse und nicht über diese komische Seitwärtsbewegung. Beziehungsweise ich möchte wissen, weswegen es bei rotateX überhaupt eine Seitwärtsbewegung durchführt.

Hier der Code:

HTML:

<div class="scene">
  <div class="cube">
    <div class="cube__face cube__face--front"></div>
    <div class="cube__face cube__face--back">back</div>
    <div class="cube__face cube__face--right">right</div>
    <div class="cube__face cube__face--left">left</div>
    <div class="cube__face cube__face--top">top</div>
    <div class="cube__face cube__face--bottom">bottom</div>
  </div>
</div>

CSS:

.scene {
  width: 200px;
  height: 200px;
  border: 1px solid #CCC;
  margin: 80px;
  perspective: 400px;
  transition-duration: 1s
}

.cube {
  transition-duration: 1s;
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  transform: translateZ(-100px);
}

.scene:hover .cube {
  transform: translateZ(-10px);
}

.cube__face {
  ;
  border: 3px solid black;
  position: absolute;
  width: 200px;
  height: 200px;
  color: white;
  font-size: 2.5em;
  transform: scale(2.5);
  text-align: center;
  font-weight: bold;
  line-height: 200px;
  transform: perspective(500px) translateZ(250px)
}

.cube__face--front {
  transition-duration: 1s;
  transform: rotateY(0deg) translateZ(100px);
  background: url(Gesichr.png) hsla(214, 100%, 46%, 0.7);
  opacity: 0.5;
  background-size: cover;
}

.cube__face--right {
  transition-duration: 1s;
  transform: rotateY(90deg) translateZ(100px);
  background: hsla(99, 100%, 36%, 0.7);
}

.cube__face--back {
  transition-duration: 1s;
  transform: rotateY(180deg) translateZ(100px);
  background: hsla(63, 99%, 59%,0.7)
}

.cube__face--left {
  transition-duration: 1s;
  transform: rotateY(-90deg) translateZ(100px);
  background: hsla(10, 100%, 50%, 0.7)
}

.cube__face--top {
  transition-duration: 1s;
  transform: rotateX(90deg) translateZ(100px);
  background: hsla(181, 100%, 67%,0.8)
}

.cube__face--bottom {
  transition-duration: 1s;
  transform: rotateX(-90deg) translateZ(100px);
  background: hsla(38, 100%, 52%,0.7)
}

.scene:hover .cube__face--front {
  transform: rotatex(-30deg) translateZ(100px);
}

.scene:hover .cube__face--right {
  transform: rotateY(90deg) translateZ(100px) rotatez(-30deg);
}

.scene:hover .cube__face--back  {
  transform: rotateY(0deg) rotateX(150deg) translateZ(100px) rotate(-180deg);
}

.scene:hover .cube__face--left {
  transform: rotateY(-90deg) translateZ(100px) rotatez(30deg);
}

.scene:hover .cube__face--top  {
  transform: rotateX(60deg) translateZ(100px);
}

.scene:hover .cube__face--bottom {
  transform: rotateX(-120deg) translateZ(100px);
}
Programm, HTML, 3D, programmieren, CSS, Code, Webdesign

Java: Vokabeltrainer?

Hey,

also, ich benötige eine echt hilfreiche Hilfe.

Und zwar müssen wir einen Vokabeltrainer erstellen, der die Vokabeln abfragt, und nach richtig oder falsch einordnet.

Ich bin soweit so vor gegangen und benötige jetzt jedoch "Vokabeln abfragen". Vielleicht könnt ihr mir dabei helfen.

import java.util.Scanner;

/**
* Das Programm erstellt Vokabeln und speichert diese ab.
*
* Todo: Es kann eine Vokabelliste aus einer Datei laden und in einer
* Liste speichern.
*
* Der Nutzer kann abgefragt werden. Falsch geratene Vokabeln
* werden zum verstärkten Üben erneut in der Liste untergebracht.
*
*Das Programm arbeitet mit der Konsole.
*
* @author ()
* @version (
*/
public class VokabelTrainer {
  
  // instance variables - replace the example below with your own
  private List<Vokabel> vokabeln;

  /**
  * Constructor for objects of class VokabelTrainer
  */
  public VokabelTrainer() {
    vokabeln = new List<Vokabel>();
    vokabeln.append(new Vokabel("Hund", "dog"));
    vokabeln.append(new Vokabel("Katze", "cat"));    
    vokabeln.append(new Vokabel("Vogel", "bird"));
    vokabeln.append(new Vokabel("Blume", "flower"));
  }

  /**
  * gibt die Vokabelliste aus.
  */
  public void listeAusgeben() {
    vokabeln.toFirst();

    while(vokabeln.hasAccess()) {
      System.out.println(vokabeln.getContent().getDeutsch());
      System.out.println(" - ");
      System.out.println(vokabeln.getContent().getEnglisch());
      System.out.println("zu Deutsch");
      vokabeln.next();
    }
  }

  /**
  * fügt eine neue Vokabel (deutsch-englisch) an
  * (zunächst hinten)
  * To do: alphabetisch!
  */
  public void neueVokabel(String pDeutsch, String pEnglisch) {
    vokabeln.append(new Vokabel(pDeutsch, pEnglisch));
  }

  /**
  * Ermöglicht eine einfache Abfrage.
  * Abzufragende Vokabeln kommen in eine neue Liste
  * Falsch geratene Vokabeln werden erneut in diese Liste gepackt
  * Die Abfrage endet, wenn alle Vokabeln richtig eingegeben wurden.
  * Eine kleine Statistik wird ausgegeben.
  *
  */
  public void abfragen() {
  }
programmieren, Vokabeltrainer

Wie kann ich in Python einen Loop einfügen der aus einer Exceltabelle ausliest?

Hallo würde mir gerne meine Vokalen mit Text to Speech vorlesen lassen, ich habe dafür eine Excel-Tabelle mit Englischen und Deutschen Vokabeln.

Mein Problem ist das ich nicht weiß wie man in Python eine automatische loop einfügt die dann von einem English/Deutschvokabel Paar zum nächsten geht und sie vorliest.

Weil so wie ich es jetzt habe muss ich bei jedem neuen Vokabel paar eine manuelle Variable erstellen und dann diese wieder in meinen Text to Speech Code einfügen.

Mein Code:

import openpyxl
import pyttsx3


# Give the location of the file
path = "test.xlsx"

# To open the workbook
# workbook object is created
wb_obj = openpyxl.load_workbook(path)

# Get workbook active sheet object
# from the active attribute
sheet = wb_obj.active

# Cell objects also have a row, column,
# and coordinate attributes that provide
# location information for the cell.

# Note: The first row or
# column integer is 1, not 0.

# Cell object is created by using
# sheet object's cell() method.
wort1en = sheet.cell(row=1, column=1)
wort1de = sheet.cell(row=1, column=2)


# Text to Speech
engine = pyttsx3.init()

# Voice IDs pulled from engine.getProperty('voices')
# These will be system specific
de_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_DE-DE_HEDDA_11.0"
en_voice_id = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Speech\Voices\Tokens\TTS_MS_EN-US_ZIRA_11.0"

# Set properties _before_ you add things to say
engine.setProperty('rate', 160)    # Speed percent (can go over 100)
engine.setProperty('volume', 1)  # Volume 0-1
# Use female English voice
engine.setProperty('voice', en_voice_id)
engine.say(wort1en.value)


# Set properties _before_ you add things to say
engine.setProperty('rate', 150)    # Speed percent (can go over 100)
engine.setProperty('volume', 0.9)  # Volume 0-1
# Use female German voice
engine.setProperty('voice', de_voice_id)
engine.say(wort1de.value)


engine.runAndWait()

Meine Vokabelliste:

Bild zum Beitrag
Computer, programmieren, Informatik, Python

Frage zu Java/ Programmieren/ Verschlüsselung?

Ich habe eine sehr komplexe Frage würde mich aber extrem freuen wenn mir jemand helfen könnte, für die Schule soll ich ein kurzes Java Programm schreiben, bei mir kommt aber nicht heraus (kein Syntax error)

Hier die Angaben;

Aufgabe; Implementieren Sie die folgenden Punkte unten im Programmcode:

  1. Die Klasse CaeserCode soll zusätzlich ein Attribut offset besitzen, das die Buchstaben-Verschiebung der Caesar-Verschlüsselung angibt. Beispielsweise wird bei einem Offset (Verschiebung) von 3 aus einem A ein D. Belegen Sie das Attribut offset im Standardkonstruktor mit dem Wert 1.
  2. Bei der Caesar-Verschlüsselung sollen nur die 26 Buchstaben des lateinischen Alphabets verschlüsselt werden, alle anderen Sonderzeichen bleiben unverschlüsselt. Die Groß- und Kleinschreibung soll beibehalten werden.
  3. Vervollständigen Sie die Methode verschluesseln() in der Unterklasse CaesarCode.
  4. Verwenden Sie die Methoden: zeichenInMorseCodeUmwandeln(char zeichen) und morseCodeInZeichenUmwandeln(String morsecode) in den Methoden verschluesseln() und entschluesseln() der Unterklasse MorseCode.
  5. Für die Morse-Verschlüsselung sollen zwischen den Buchstaben ein Leerzeichen und zwischen den Wörtern fünf Leerzeichen eingefügt werden. Die Eingabe kann einfach in Großbuchstaben umgewandelt werden (mit der Methode toUpperCase()).
  6. Vervollständigen Sie die Methode verschluesseln() in der Unterklasse MorseCode.
  7. Die Tests prüfen nur das Verschlüsseln ab. Das Vervollständigen der Methode entschluesseln() ist eine Zusatzaufgabe.

Bereits zur verfügung gestellter Code siehe kommentare

Bild zum Beitrag
Computer, programmieren, Java, Code, Informatik

Meistgelesene Beiträge zum Thema Programmieren