An alle Schüler und Studenten mit Informatikproblemen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Vadym
User
Beiträge: 7
Registriert: Sonntag 30. Mai 2021, 18:53

Guten Tag, ich habe eine Aufgabe bekommen, aber alleine leider schaffe ich nicht. Kann mir jemand Helfen bitte.

Erstellen Sie eine Funktion, die eine ganze Zahl als Eingabeparameter bekommt und feststellt, ob

die Zahl kleiner Null ist (Rückgabewert 0)
einstellig ist (Rückgabewert 1)
zweistellig ist (Rückgabewert 2)
dreistellig ist (Rückgabewerte 3)
vierstellig und größer ist (Rückgabewerte 99)

Verwenden Sie keine Schleife in Ihrem Programm und nur eine return-Anweisung.

def klassen(zahl):

return n
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte stell deine Frage nicht in einem Thema, das sich der Diskussion *wie* hier mit Hausaufgaben umgegangen wird. Sonder stell die Frage bitte in einem eigenen Thema.
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

@Vadym:

Code: Alles auswählen

λ» let
 | klassen n
 |   | n < 0 = 0
 |   | n < 10 = 1
 |   | n < 100 = 2
 |   | n < 1000 = 3
 |   | otherwise = return 99 !! 0
 |
klassen :: (Ord a, Num a, Num p) => a -> p
λ» klassen 42
2
λ» klassen (-123)
0
λ» klassen 1337
99
Und lies am besten nochmal den ersten Beitrag hier im Thread. :)

Und wenn du deine Frage in einem eigenen Thread stellst, dann schreibe bitte auch deinen Ansatz und wo konkret du Probleme mit der Aufgabenstellung hast.
Vadym
User
Beiträge: 7
Registriert: Sonntag 30. Mai 2021, 18:53

Ok.Danke.Die Aufgabe habe ich auch so wie Sie gelöst.
Vadym
User
Beiträge: 7
Registriert: Sonntag 30. Mai 2021, 18:53

Jetzt habe ich wieder Schwierigkeiten :shock:
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@Vadym: narpfel hat kein Python-Programm geschrieben. Also ist es sehr unwahrscheinlich, dass Du Dein Problem auf die selbe Art gelöst hast.
Vadym
User
Beiträge: 7
Registriert: Sonntag 30. Mai 2021, 18:53

Neue Aufgabe . :roll:
Erstellen eine Funktion ,die aus einer Zahl y mit der angegebenen Iterationsformel solange einenneuen Wert x berechnet,bis sich das x nur noch in der z-ten Nachkommastelle ändert.
x《n+1》=((3×x^4《n》)+y)/4×x^3《n》
Eingabeparameter:
y Zahl zwischen 12 und 24(nachprüfen;bei falschem Wert von y -1 zurückgeben)
x0 Startwertfür die Iteration von x
z Anzahl Nachkommastellen für die Genauigkeit
Aus numerischen Gründen ist während der Iteration nicht zu runden.
def my_rt(y,x0,z)
........
...........
return xn1
#Test
x=my_rt(12,1,10)
print(x)
Antwort:1.8.........
Vadym
User
Beiträge: 7
Registriert: Sonntag 30. Mai 2021, 18:53

@Siirius3 Ich habe die Aufgabe selber zum Laufen gebracht.💪💪💪💪💪
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Vadym hat geschrieben: Sonntag 20. Juni 2021, 14:21o
Erstellen Sie eine Funktion, die eine ganze Zahl als Eingabeparameter bekommt und feststellt, ob

die Zahl kleiner Null ist (Rückgabewert 0)
einstellig ist (Rückgabewert 1)
zweistellig ist (Rückgabewert 2)
dreistellig ist (Rückgabewerte 3)
vierstellig und größer ist (Rückgabewerte 99)

Verwenden Sie keine Schleife in Ihrem Programm und nur eine return-Anweisung.
Die Anforderungen sind ja nicht so toll gestellt, um eine halbwegs elegante Lösung zu erhalten. Wie hast du es denn gelöst? Ich wollte mehrfach verschachtelte if-else-Anweisungen vermeiden und habe daher den Zehnerlogarithmus bemüht, allerdings auch nur mit Verrenkungen:

Code: Alles auswählen

from math import log10

def analyze(n):
    return int(log10(n) + 1) if 0 < n < 1000 else int(n == 0) or (0, 99)[n >= 1000]
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Und wie das so ist, fällt einem kurz nach dem Posten noch etwas ein:

Code: Alles auswählen

def analyze(n):
    return (n >= 0) + (n >= 10) + (n >= 100) if n < 1000 else 99
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@snafu: warum der Symmetriebruch?

Code: Alles auswählen

def analyze(n):
    return (n >= 0) + (n >= 10) + (n >= 100) + 96 * (n >= 1000)
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Jo, stimmt. So ist es besser.
Vadym
User
Beiträge: 7
Registriert: Sonntag 30. Mai 2021, 18:53

Danke Sirius3 und snafu.Könnten vielleicht mir mit der nächste Aufgabe helfen. Alleine schaffe ich leider nicht.
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

@Vadym: bitte fange einen eigenen Thread an, und stelle dort eine konkrete Frage, an welcher Stelle Du mit Deinen Hausaufgaben nicht weiter kommst. Und falls Du snafus Lösung klauen und als Deine eigene ausgeben solltest, mußt Du wenigstens erklären können, warum sie funktioniert.
Vadym
User
Beiträge: 7
Registriert: Sonntag 30. Mai 2021, 18:53

Ich weiß einfach nicht wie soll ich anfangen.Leider.
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Hier ein guter Link, mit dem du anfangen kannst: posting.php?mode=post&f=1
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Mit einem eigenen Thema für Deine Frage am besten. Also damit nicht *hier* in diesem Thema antworten, sondern im passenden Unterforum auf „Neues Thema“ klicken und dort dann eine passende Überschrift, und die Frage rein schreiben.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
odetta20
User
Beiträge: 2
Registriert: Montag 2. August 2021, 22:23

Ich bin ein Student der Systemtechnik, ich bin im zweiten Semester und ein Klassenkamerad empfahl mir dieses Forum, um meine Probleme mit dem schwersten Thema zu lösen und er sagte mir, dass sie unsere Hausaufgaben gemacht haben, ich denke, er gab mir die falschen Informationen, danke für die Klärung es. :(
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Sollte der Kommilitone auch Bitcoin empfohlen haben: da sieht’s ähnlich mau aus mit der Qualität der Informationen…
Tom__—__
User
Beiträge: 2
Registriert: Samstag 20. November 2021, 18:42

za0 hat geschrieben: Montag 1. November 2004, 15:29 Mahlzeit,
Dookie hat geschrieben:Hallo,

leider kommt es immer wieder vor, daß hier manche glauben, wir würden ihre Hausaufgaben lösen. Dafür ist dieses Forum echt nicht gedacht. Wenn einer bei einem Problem Hilfe braucht, geben wir gerne Hilfestellung, aber wenn hier Leute her kommen, die weder von Programmierung noch von Python eine Ahnung haben und glauben wir würden Ihnen fertige Lösungen liefern, so sind die hier falsch!


Gruß

Dookie
da stimme ich voll zu. "Hausaufgaben" sind dazu da um den Stoff zu üben, damit man ihn beherrscht. Aber im Endeffekt werden solche "Lutscher" sehen was sie davon haben: spätestens wenn Sie die Klausur über das Thema schreiben, werden sie merken, wie richtig es gewesen ist, die Aufgaben von anderen lösen zu lassen und was SIE im Endeffekt davon haben.

Grüße

za0
Ohhhhhhhh
Munter bitte keinen schüler dazu an im Unterricht vom Forum Hilfe zu erlangen… :D
Antworten