Python – die neusten Beiträge

Stimmt dieses Python Craps Programm?

Hallo,

wir müssen in Informatik unser eigenes Craps Spiel programmieren.

Die beiden Würfel werden geworfen. Wenn die Augensumme 7 oder 11 beträgt, hat man gewonnen. Wenn die Augensumme 2, 3 oder 12 beträgt, hat man verloren. Ansonsten wird weitergewürfelt, bis eine Entscheidung gefallen ist. Bei jedem weiteren Wurf der beiden Würfel hat man verloren, wenn eine 7 fällt, und gewonnen, wenn die neue Augensumme gleich der Augensumme im ersten Wurf ist.

Ich bin mir jedoch sehr unsicher, ob ich es richtig programmiert habe, ich bekomme am Ende ein Ergebnis, jedoch bin ich mir unsicher, ob das Spiel nach den Spielregeln ausgeführt wird.

Ich bitte um Hilfe und bedanke mich im Voraus.

Hier der Code:

from random import randint;


#Eingang
print('Dieses Programm simuliert das bekannte Casino-Spiel "Craps". Der Spieler wirft ein normales Paar Würfel.')
print('Beträgt die Augensumme am Ende 2, 3 oder 12, hat der Spieler verloren. Beträgt die Augensumme 7 oder 11, hat der Spieler gewonnen.')
print('Bekommt man keine dieser Augensumme wird weitergewürfelt, bis eine Entscheidung gefallen ist.')
print('Bei jedem weiteren Wurf der beiden Würfel hat man verloren, wenn eine 7 fällt, und gewonnen,')
print('wenn die neue Augensumme gleich der Augensumme im ersten Wurf ist.\n')


anzahl = int(input("Gib die Anzahl der zu simulierenden Craps-Spiele ein: "))


#Verarbeitung


hilf = 0
gewinn = 0
weiterwuerfeln = 0


while hilf < anzahl:


    hilf = hilf + 1


    wuerfel1 = randint(1, 6)
    wuerfel2 = randint(1, 6)
    ergebnis = wuerfel1 + wuerfel2


    if ergebnis == 2 or ergebnis == 3 or ergebnis == 12:
        gewinn = gewinn + 0
    
    elif ergebnis == 7 or ergebnis == 11:
        gewinn = gewinn + 1


    else:


        while weiterwuerfeln != 7 and weiterwuerfeln != ergebnis:


            wuerfelneu1 = randint(1, 6)
            wuerfelneu2 = randint(1, 6)


            weiterwuerfeln = wuerfelneu1 + wuerfelneu2


            if weiterwuerfeln == ergebnis:
                gewinn = gewinn + 1


            if weiterwuerfeln == 7:
                gewinn = gewinn


print('Von', anzahl, 'simulierten Craps-Runden, waren ', gewinn, ' Gewinne dabei, daraus ergibt sich eine Gewinnrate von '+ str(100*(gewinn/anzahl)) + '%.') 
Computer, Schule, programmieren, Informatik, Python

Exakten Wert beim Quadrieren von Floats (Python)?

Hallo,

heute bin ich mit einem Bug im Rucksack unterwegs.

Ich versuche folgende Zahl 11.313708498984761 in Python zu quadrieren. Das Ergebnis müsste 128 sein, doch er gibt 128,00000000000003 aus und ich verstehe nicht wie ich das präzisieren könnte.

Es wäre schön, falls mir jemand weiterhelfen könnte.

Mit freundlichen Grüßen

JUCEL

PS: Hier mein derzeitiger Code:

# This Script was made to calculate the distance to celestial bodies in space (nearby milkyway).
import math
import decimal
import datetime
import random, string

sin = math.sin;
degrees = math.radians;
decimal.getcontext().prec = 200;
decimal = decimal.Decimal;


# Log-File, Datum, Star-Name

request = input("Hello, please choose between following options:\nDistance-Calculator [1] \nProtokoll [2]\nExit [q]\nOption: ")

if request == str("1"):

    print("Please insert following required data:")

    angle1 = input("Angle 1 (°): ")
    angle2 = input("Angle 2 (°): ")

    distance_In = decimal(input("Distance between the angles (Kilometre): "))



    # Angles

    summary = decimal(angle1) + decimal(angle2)
    angle3 = 180 - float(summary)

    # Distances

    distance_In_parsec = distance_In * decimal(0.000000000000060019)

    # Distance_a

    distance_out_a_parsec = decimal(distance_In) * decimal((sin(degrees(decimal(angle1)))/sin(degrees(decimal(angle3))))) * decimal(0.000000000000060019)
    distance_out_a_ligh_years = decimal(distance_out_a_parsec) * decimal(3.26156)
    distance_out_a_astronomic_unit = decimal(distance_out_a_parsec) * decimal(206265)

    print("Distance a: \n ", distance_out_a_parsec, "parsec \n ", distance_out_a_ligh_years, "ly \n", distance_out_a_astronomic_unit, "AU \n")

    # Distance_b

    distance_out_b_parsec = decimal(distance_In) * decimal((sin(degrees(decimal(angle2)))/sin(degrees(decimal(angle3))))) * decimal(0.000000000000060019)
    distance_out_b_ligh_years = decimal(distance_out_b_parsec) * decimal(3.26156)
    distance_out_b_astronomic_unit = decimal(distance_out_b_parsec) * decimal(206265)

    print("Distance b: \n ", distance_out_b_parsec, "parsec \n ", distance_out_b_ligh_years, "ly \n", distance_out_b_astronomic_unit, "AU \n")

    # Distance_center
    half = decimal(distance_In)/2

    distance_out_center_dump = distance_out_a_parsec * distance_out_a_parsec - half * half

    distance_out_center_parsec = decimal(math.sqrt(abs(decimal(distance_out_center_dump)))) * decimal(0.000000000000060019)
    distance_out_center_light_years = decimal(distance_out_center_parsec) * decimal(3.26156)
    distance_out_center_astronomic_unit = decimal(distance_out_center_parsec) * decimal(206265)

    print("Distance from the center of ellipsis: \n ", distance_out_center_parsec, "parsec \n ", distance_out_center_light_years, "ly \n", distance_out_center_astronomic_unit, "AU")

# Protocol

elif request == str("2"):
    pass

elif request == str("q"):
    exit(0)
Computer, programmieren, Informatik, Python, Python 3

Flächeninhaltrechner in python funktioniert nicht?

Hallo,

Ich programmiere gerade einen Taschenrechner für Flächeninhalte von Formen, den ich immer weiter erweitere, nur irgendwie läuft der Code nicht, und ich glaube es liegt am else, aber wie geht es richtig?

print("Bitte maße mit . eingeben! Zum Beispiel: c = 3,5 cm Gebe ein: 3.5 bei ganzen Zahlen mit .0 angeben \n Zum Beispiel: 3.0")
print("sie können den Flächeninhalt von folgenden Formen berechnen:")
print("Dreieck, Quadrat, Rechteck, Trapez")


Form = input("Von welcher geometrischen Form wollen Sie die den Flächeninhalt berechnen?")


if Form == "Dreieck":
    print("Dreieck berechnen")
    c = float(input("Bitte maße für Grundlinie angeben"))
    h = float(input("Bitte maße für Höhe oder bei rechtwinkligen Seite neben rechten Winkel angeben"))
    Flächeninhalt = 1/2*c*h



elif Form == "Quadrat":
    print("Quadrat berechnen")
    a = float(input("Bitte die Länge einer Seite angeben"))
    Flächeninhalt = a*a



elif Form == "Rechteck":
    print("Quadrat berechnen...")
    a = float(input("Bitte die Länge einer Seite angeben"))
    b = float(input("Bitte die Länge einer danebenliegenden Seite angeben"))
    Flächeninhalt = a*b


else Form == "Trapez":
    print("Trapez berechnen...")
    a = float(input("Bitte Maße der Grundlinie angeben"))
    c = float(input("Bitte Maße der oberen Linie angeben"))
    h = float(input("Bitte Höhe angeben"))
    Flächeninhalt = 1/2*(a+c)*h



print("Flächeninhalt berechnen...")
print(Flächeninhalt)

Danke

programmieren, Python, Python 3

Python Selenium findet Button nicht?

Hi, ich habe ein Script geschrieben welches nacheinander auf verschiedene Buttons klickt und sich einloggt. Beim letzen Button kommt allerdings immer die Fehlermeldung, dieser sei nicht gefunden worden. Habe es sowohl mit Link_Text als auch mit ID versucht.

from selenium import webdriver
from selenium.webdriver.common.by import By
import selenium.webdriver.common
import selenium.webdriver.common.actions
from selenium.webdriver.support import expected_conditions as EC
from pynput.keyboard import Key, Controller
import time
from selenium.webdriver.support.wait import WebDriverWait
import win32clipboard

keyboard = Controller()

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("https://04101643.moodle.belwue.de/moodle/blocks/exa2fa/login/")
driver.maximize_window()

username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")

username.send_keys("---")  #Name und Passwort hab ich natürlich nur zum hochladen hier entfernt ;)
password.send_keys("---")

login = driver.find_element_by_id("loginbtn")
login.click()

time.sleep(5)

fach = driver.find_element_by_partial_link_text("Mathematik")
fach.click()

time.sleep(3)

bbb = driver.find_element_by_xpath('//img[contains(@src,"https://04101643.moodle.belwue.de/moodle/theme/image.php/boost/bigbluebuttonbn/1609841251/icon")]')
bbb.click()

time.sleep(3)

teilnehmen = driver.find_element_by_id("join_button_input")
teilnehmen.click()

time.sleep(5)

keyboard.press(Key.ctrl)
keyboard.press('l')
time.sleep(1)
keyboard.release(Key.ctrl)
keyboard.release('l')
time.sleep(1)
keyboard.press(Key.ctrl)
keyboard.press('c')
time.sleep(1)
keyboard.release(Key.ctrl)
keyboard.release('c')

win32clipboard.OpenClipboard()
page = win32clipboard.GetClipboardData()    #Muss man hier das Fenster wechseln?
win32clipboard.CloseClipboard()             #Hinweis beim Klicken auf den vorherigen Button wird der Link in einem neuen Tab geöffnet

driver.get(page)                                 #Hier geht es dann zu BigBlueButton (Videochat Seite) auf der der letzte Button gedrückt werden soll

time.sleep(1)

keyboard.press(Key.ctrl)
keyboard.press('w')
time.sleep(1)
keyboard.release(Key.ctrl)
keyboard.release('w')

time.sleep(3)

mode = driver.find_element_by_partial_link_text("Nur")  #Den hier findet es nicht (falls es jemand kennt: Ist der ,,Nur zuhören" Button von BigBlueButton, habe den Code leider nicht da
mode.click()

Für Hinweise oder Lösungen des Problems wäre ich sehr dankbar. Falls es Unklarheiten gibt, gerne einen Kommentar schreiben.

Computer, programmieren, Informatik, Python, Script, Selenium

Error 'unhandled exception' in mcedit?

Hallo zusammen, Ich wollte eben mal eine Struktur mit Mc Edit kopieren, doch als ich die Welt öffnete, kam dieser Error:

"MCEdit version: 2.0.0-beta14

Python version: 2.7.15 (v2.7.15:ca079a3ea3, Apr 30 2018, 16:30:26) [MSC v.1500 64 bit (AMD64)]

Platform: win32

System version: Windows-10-10.0.18362

Processor: Intel64 Family 6 Model 58 Stepping 9, GenuineIntel

Obtained a GL context with this format:

Valid: True

Version: 4.5

Hardware Accelerated: True

Depth buffer: True, 24

Double buffer: True

Rendering profile: PySide.QtOpenGL.QGLFormat.OpenGLContextProfile.CompatibilityProfile

Driver info:

GL_VERSION: 4.5.13399 Compatibility Profile Context 15.201.1151.1008 (4, 5)

GL_VENDOR: 'ATI Technologies Inc.'

GL_RENDERER: 'AMD Radeon HD 7500M/7600M Series'

------

Unhandled Exception

Traceback (most recent call last):

File "mcedit2\editorsession.py", line 1643, in viewOffsetChanged (self is a EditorTab)

File "mcedit2\worldview\minimap.py", line 187, in currentViewMatrixChanged (self is a MinimapWorldView)

File "mcedit2\util\raycast.py", line 30, in rayCastInBounds

File "mcedit2\util\profiler.py", line 73, in _wrapper (self is a Profiler)

File "mcedit2\util\raycast.py", line 77, in rayCast

File "mcedit2\util\raycast.py", line 215, in advanceToChunk

File "mceditlib\worldeditor.py", line 831, in getChunk (self is a WorldEditorDimension)

File "mceditlib\worldeditor.py", line 499, in getChunk (self is a WorldEditor)

File "mceditlib\cachefunc.py", line 77, in __call__

File "mceditlib\worldeditor.py", line 477, in _getChunkDataRaw (self is a WorldEditor)

File "mceditlib\anvil\adapter.py", line 922, in readChunk (self is a AnvilWorldAdapter)

AnvilChunkFormatError: [Errno Error loading chunk: KeyError('Key Blocks not found.',)] None: <traceback object at 0x0000023980A221C8>"

Computer 64 bit
win 10
Python: 2.7.15
mc edit version: 2.0.0 beta-14

Kann mir BITTE jemand helfen?
LG MineMuse07

Computer, Technik, programmieren, Minecraft, Error, Python

Meistgelesene Beiträge zum Thema Python