Suchwörter   (werden UND-verknüpft)
Keines der folgenden   keine eigenen Beiträge
Name des Autors 
resp. Themenstellers 

nur dessen Startbeiträge
auch in Antworten dazu
Forum 
 Suchrichtung  Auf  Ab Suchmethode  Sendezeit Empfehlungbeta [?]
       Die Suche erfolgt nach den angegebenen Worten oder Wortteilen.   [Suchtipps]

Link auf dieses Suchergebnis hier

Forum
Thema Eingetragen
Autor

Astronomie und Astrophysik
Schule 
Thema eröffnet von: Bekell
Gegenerde  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-21 21:56
Bekell
 

Man hört immer mal die Spekulation, es gäbe eine Gegenerde, die wir, weil sie immer genau hinter der Sonne läge, nie zu Gesicht bekommen würden.

Gibt es astromechanische Gründe, warum dies nicht so sein kann.

Mir fiele da ein. Da die Bahn eine Elipse ist, und nach Kepler der Planet am Perihel schneller ist, als am Aphel, sind die 180° zwischen Erde und angenommener Gegenerde im Jahreslauf nicht durchgängig gegeben. Wenn die Abweichung größer als der Teil der Strecke, den die 0,5° des scheinbaren Sonnendurchmessers von der Erdenbahn abdecken, müßte die Gegenerde partiell aus dem Sonnenschatten heraustreten. Kann das mal jemand berechnen. (angenommen, Gegenerde hat dieselben Daten, wie die Erde).

Danke

Informatik
Schule 
Thema eröffnet von: Bekell
Performance und Wandelfeature  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-19 17:15
Bekell
 

Mein Durchratterer funktioniert! (Jedenfalls in Spyder) Ich gebe zu, es ist kein "schöner" Code, aber ich bin auch kein Designer! Er soll funktionieren und von meinem Python Niveau verstanden werden. Das sind meine beiden Prämissen.
Python
  1. from openpyxl import Workbook
  2. from sympy.ntheory import isprime
  3. import numpy as np
  4. from sympy import sieve
  5. from sympy import primepi
  6. from math import sqrt
  7. from collections import Counter
  8.  
  9. #DEKLARATIONSBLOCK
  10. wb = Workbook()
  11. anzahl1=0
  12. anzahl=0
  13. gesanzahl=0
  14. anzahlkaskaden=3
  15. 0=1=2=0
  16. nr=0
  17. probelist=[1,2,3,4,5]
  18. langlist=[]
  19. liste0=[]
  20. liste1=[]
  21. liste2=[]
  22. liste=[]
  23. ZS=[]
  24. ZSS=[]
  25.  
  26. #FUNKTIONSBLOCK
  27. def ermittel_trigonal(x):
  28. zahl=0
  29. y=x+1
  30. for i in range(1,y):
  31. zahl=zahl+i
  32. return zahl
  33.  
  34. def bau_kaskaden(x,anzahlkaskaden):
  35. kaskade=[]
  36. w=0
  37. for i in range(0,x,1):
  38. kaskade.append(1) #Hier werden die Stellen der Normkaskade eingetragen)
  39. w=w+1
  40. for y in range(0,w,1):
  41. kaskade.append(2) # Eintrag der Zwischenräume
  42. kaskade.append(1)
  43. for b in range(1,ermittel_trigonal(anzahlkaskaden)+1-len(kaskade),1): #Ermittlung der einzufügenden Zeichen nach größter kaskadenänge berechnet.
  44. kaskade.append(0)
  45. return(kaskade)
  46.  
  47. def move_liste(x):
  48. y=0
  49. y = x.pop() # entfernt das letzte Glied der Liste und nennt es y
  50. x.insert(0,y) # hier schiebt er das letzte Glied (y) der Liste an die erste (0.) Stelle
  51. return liste
  52. def berechne(a,b,c):
  53. ZS=[]
  54. liste4=a+b+c
  55. #print("liste4",liste4)
  56. arr = np.array([liste4])
  57. arr = arr.reshape(anzahlkaskaden, ermittel_trigonal(anzahlkaskaden))
  58. zeilensumme = np.sum(arr,axis=0)
  59. ZS=list(zeilensumme)
  60. return ZS
  61. def anzahl_einsen(x):
  62. zähler=0
  63. for i in x:
  64. if i ==1:
  65. zähler+=1
  66. return zähler
  67.  
  68. #VORBEREITUNGSBLOCK
  69. for i in range(0,anzahlkaskaden,1):
  70. nr=nr+1
  71. print("Nr.:",nr," ",bau_kaskaden(i,anzahlkaskaden))
  72. langlist.extend(bau_kaskaden(i,anzahlkaskaden))# Konkatenation der einzelnen Kaskaden zur langliste
  73. print(...)
  74. print("Langlist",langlist)
  75.  
  76. arr = np.array([langlist])
  77. arr = arr.reshape(anzahlkaskaden, ermittel_trigonal(anzahlkaskaden))
  78. liste0=langlist[0:6]
  79. liste1=langlist[6:12]
  80. liste2=langlist[12:18]
  81.  
  82. #EIGENTLICHERDURCHRATTERER
  83. nr=0
  84. ws=wb.active
  85. for i in range(1,7): #bei anzahl kaskaden=3 kommt hier 1 und 7 hin
  86. for i in range(1,7):
  87. for i in range(1,7):
  88. nr+=1
  89. 0+=1
  90. print("f",0,liste0)
  91. print("f",1,liste1)
  92. print("f",2,liste2)
  93. print()
  94.  
  95.  
  96. ZSS=berechne(liste0,liste1,liste2)
  97. print("f",nr,berechne(liste0,liste1,liste2))
  98. anzahl=anzahl_einsen(ZSS)
  99. if anzahl==0:
  100. gesanzahl+=1
  101. print("Einsen",anzahl)
  102.  
  103.  
  104. #Druckblock
  105. ws.append([0,"","",]+liste0) # Hier macht er einen wert pro Zelle in excel
  106. ws.append([1,"","",]+liste1)
  107. ws.append([2,"","",]+liste2)
  108. ws.append([" ","",])
  109. ws.append([nr,anzahl,"Summe",]+ZSS+["ges",gesanzahl])
  110. # for i in probelist: # hier macht er eine Liste abwärts.
  111. ws.append([" "])
  112. wb.save("/Users/........./Desktop/Exceldat/Durchratterer3.xlsx")
  113. move_liste(liste0)
  114.  
  115. move_liste(liste1)
  116. 1+=1
  117. move_liste(liste2)
  118. 2+=1

In diesem Programm hängt alles von der Variablen "anzahlkaskaden" ab. Ihr könnt es laufen lassen, müßt aber vorher den Ablageort der Datei anpassen.

Die Performance erhöht sich natürlich, wenn man die ganzen Prints für die IDE abschaltet. Ich möchte das Programm ja noch automatisiert haben. Immer wo 3 Sachen sind, müssen soviele hin, wie anzahlkaskaden sagt. Ich habe Angst mich zu verheddern.  Immerhin sind bei Anzahlkaskaden 8 und Schrittweite 1 schon über 2 Milliarden Durchläufe zu machen. Da ist es auch unsinnig, dies noch nach Excel reinzudrücken. Ich baue dann noch Filter, zähle mir das und das, und lasse es ausgeben.
 
Dann brauche ich unbedingt noch die Vorgabe Schrittweite. Da soll in def-move die Schrittweite mit übergeben werden und dies hat auch Auswirkungen auf den Startzustand, so daß der Startzustand bei Schrittweite 3 logischerweise ein anderer ist, als bei Schrittweite 1, wie jetzt eingestellt.

Un dann brauch ich noch ein Arraywandelfeature, der, wenn sich die Matrix im Arrayzustand befindet Austauschungen vornimmt. z.B. in der Weise, hänge an alle Werte in der 2. Zeile eine Null dran, oder alle 2-en zu 1, alle 1-en zu 0 und alle Nullen zu 7 oder ähnliches.  

Vllt kann mal jemand hier so ein Bild posten, wo zu sehen ist, wie die Module ineinanderhaken und die Variablen abgefragt werden, ich hab sowas noch nicht gesehen, und weiss auch nicht, wie das heißt. (kann also nicht googeln) Das, damit ich beim nächsten schwierigeren Programm das mal vorher zu Papier bring!

Das er in Excel keine Zahlen ausgibt, sondern die entsprechenden Zellen färbt, hab ich noch nicht hingekriegt, bin aber am Arbeiten ....

Gibt es sonst noch was zu bemerken?

Informatik
Schule 
Thema eröffnet von: Bekell
Python Liste nach Excel schreiben....  
Beitrag No.4 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-19 12:59
Bekell
 

Okay, Danke, Entschuldigung und Hurra! Es klappt....

Informatik
Schule 
Thema eröffnet von: Bekell
Python Liste nach Excel schreiben....  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-19 12:03
Bekell
 

2021-02-19 12:00 - DerEinfaeltige in Beitrag No. 1 schreibt:
Das Problem ist einfach, dass du Syntaxfehler in Excel baust.

Vermutlich suchst du etwas der Form
Python
ws.append([2]+langlist)

Man kann natürlich nur wild raten, da du nicht erklärst, was du erreichen willst und auch kein kleines, nachvollziehbares Beispiel gibst.

OK, wird sofort nachgeholt.... ich bau es in den ersten Beitrag ein... Das sagt er zu Deinem Vorschlag:
Python
    ws.append(2+langlist)
 
TypeError: unsupported operand type(s) for +: 'int' and 'list'

es geht meines Erachtens darum, die eine Liste zu entpacken, so, daß sie in deses append reingeht, element für element.
 ws.append([ ])

Das:
Python
for i in langlist: 
                ws.append(2,i)

versteh ich auch nicht:
Python
    ws.append(2,i)
 
TypeError: append() takes 2 positional arguments but 3 were given
wo sind 3 Argumente gegeben?



Informatik
Schule 
Thema eröffnet von: Bekell
Python Liste nach Excel schreiben....  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-19 11:33
Bekell
 

Wenn man was nach Excel schreibt, geht das unter Implementation von obenpyxll so:
Python
  1. ws.append([0," ",l_s0])
Wobei ein Komma von Excel als neue Zelle interpretiert wird. (CSV-Typ)

In einer Python-Liste sind die Werte Komma getrennt. zB. hier:
Python
  1. [0, 0, 0, 0, 0, 0, 0]
Bisher habe ich das so gemacht, daß ich meine Liste in eine String-Liste umgewandelt habe und die Liste als String in eine Zelle gepackt habe. Für bestimmte Zwecke ist das Okay, wenn es so aussieht:


Wenn man aber in Excel weiterrechnen will, braucht man eine Zelle pro Listenwert.

0. Zielvorstellung:
Ich möchte es aber so haben: die Liste [1,2,3,4,5] soll so aussehen:



Ich hab folgendes probiert:
1.
Python
ws.append([2,langlist])
Ergebnis:
  File "/Users/opt/anaconda3/lib/python3.7/site-packages/openpyxl/cell/cell.py", line 222, in _bind_value
    raise ValueError("Cannot convert {0!r} to Excel".format(value))
ValueError: Cannot convert [1, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 2, 1, 2, 2, 1] to Excel

2.
ws.append([2,for i in langlist:])
Ergebnis:
  File "/Users/Desktop/Pyfiles/Übungsdateien/DurchrattererEX.py", line 116
    ws.append([2,for i in langlist:])
                   ^
SyntaxError: invalid syntax

3.
ws.append([2,for i in list(langlist):])
Ergebnis:
  File "/Users/ottoreincke/Desktop/Pyfiles/Übungsdateien/DurchrattererEX.py", line 115
    ws.append([2,for i in list(langlist):])
                     ^
SyntaxError: invalid syntax
4.
 ws.append(2,langlist)
Ergebnis:
TypeError: append() takes 2 positional arguments but 3 were given
5.
 ws.append(2,langlist[])
Ergebnis:
ws.append(2,langlist[])
                           ^
SyntaxError: invalid syntax
Ende der Ideen: hab auch schon viel gegoogelt! What can I do? Vielleicht weiss ja jemand eine Lambda-Funktion, die das leistet? Oder jemand kann  programmtechnisch vermuten, warum das nicht geht. Und mir einen TIPP geben! Ob es mit set geht. Aber dann ginge die Ordnung verloren.... und die braucht man gewöhnlich.





 
 

Programmieren
Schule 
Thema eröffnet von: Bekell
Set oder Liste  
Beitrag No.10 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-18 17:47
Bekell
J

2021-02-18 17:08 - DerEinfaeltige in Beitrag No. 9 schreibt:
Vermutlich, weil das hier
Python
if i not in x and y:
    ....

nicht das tut, was du erwartest.


Danke habs schon verbessert....


Programmieren
Schule 
Thema eröffnet von: Bekell
Set oder Liste  
Beitrag No.8 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-18 16:33
Bekell
J

Ich hab jetzt:
Python
  1. def nicht_vorkommende(x,y,z):
  2. nichtvorkommer=[]
  3. y.sort()
  4. print("in nicht_vorkommende x:",x,"y:",y,"z:",z)
  5. for i in range(0,ermittel_trigonal(z),1):
  6. if i not in x and y:
  7. nichtvorkommer.append(i)
  8. return nichtvorkommer

und diese Ausgabe:
Python
  1. Hinkask 3 0 [1, 3, 6]
  2. Rückkask 3 0 [6, 4, 1]
  3. Doppelte 3 [1, 6]
  4. Vorhandene 3 [1, 3, 4, 6]
  5. Einzelne [3, 4]
  6. in nicht_vorkommende x: [1, 3, 6] y: [1, 4, 6] z: 3
  7. Nicht-Vorkommende [0, 2, 4, 5]

Wieso ist die 4 noch in Nicht-Vorkommende?


Programmieren
Schule 
Thema eröffnet von: Bekell
Set oder Liste  
Beitrag No.7 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-18 15:20
Bekell
J

2021-02-18 14:55 - Buri in Beitrag No. 5 schreibt:
Hi Bekell,
was ist eigentlich der Sinn und Zweck deines Programms? Das ist mir nicht ersichtlich.
Gruß Buri
Hallo Buri,
ich wollte mal kucken, was hier so passiert ....


Programmieren
Schule 
Thema eröffnet von: Bekell
Set oder Liste  
Beitrag No.6 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-18 15:16
Bekell
J

Wundberbar, Nuramon, jetzt mach ich noch die "nicht-Vorkommenden" und die ausschließlich Einfachen, also die entweder unten oder oben vorkommen, die oben und unten vorkommenden!

[Die Antwort wurde nach Beitrag No.4 begonnen.]

Programmieren
Schule 
Thema eröffnet von: Bekell
Set oder Liste  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-18 14:31
Bekell
J

2021-02-18 14:15 - DerEinfaeltige in Beitrag No. 1 schreibt:
Ich verstehe zwar nicht, was du tust, doch der beschriebene Fehler tritt nicht auf. Ich verstehe auch nicht wo er das tun könnte, da du nirgends Tupel erzeugst.

Ohne das komplette Programm und die tatsächliche Fehlermeldung lässt sich das nicht nachvollziehen.

OK Numpy rausgenommen.
Was meinst Du mit "das komplette Programm"? Ich hab es doch komplett gepostet? Die Fehlermeldung hatte ich auch kopiert!  Bin übrigens in Jupyter-lab

hier nochmals:
Python
  1. TypeError Traceback (most recent call last)
  2. <ipython-input-182-ae5dfcfd5ab4> in <module>
  3. 48 rückkaskade.clear()
  4. 49 erstelle_rückkaskade(z)
  5. ---> 50 print("in HM",nr ,hinkaskade,rückkaskade,überlappungen(hinkaskade,rückkaskade))
  6. 51
  7. 52
  8.  
  9. <ipython-input-182-ae5dfcfd5ab4> in überlappungen(x, y)
  10. 34 def überlappungen(x,y):
  11. 35 #print("überlappungen",hinkaskade,rückkaskade)
  12. ---> 36 schnittmenge = set(hinkaskade) & set(rückkaskade)
  13. 37 print("überlappungen",schnittmenge)
  14. 38 #schnittmenge = list(hinkaskade) + list(rückkaskade)
  15.  
  16. TypeError: 'tuple' object is not callable



Aber, Du hast recht, nach Spyder kopiert, funktioniert es dort! Woran mag das liegen?

Programmieren
Schule 
Thema eröffnet von: Bekell
Set oder Liste  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-18 13:37
Bekell
J

Hallo Einfältiger,

hab eine neues Macro geschrieben
Python
  1. import numpy as np
  2. hinkaskade=[]
  3. rückkaskade=[]
  4. schnittmenge=0
  5. erg=[]
  6. z1=z2=0
  7.  
  8. def ermittel_trigonal(x):
  9. zahl=0
  10. y=x+1
  11. for i in range(1,y):
  12. zahl=zahl+i
  13. return zahl
  14.  
  15. def erstelle_hinkaskade(x):
  16. z1=0
  17. for i in range(1,x+1,1):
  18. z1=z1+i
  19. #print("z1",z1,"x:",x,"i:",i)
  20. hinkaskade.append(z1)
  21. #print("hin",hinkaskade)
  22. return hinkaskade
  23.  
  24. def erstelle_rückkaskade(x):
  25. z2=ermittel_trigonal(x)
  26. rückkaskade.append(z2)
  27. for i in range(2,x+1,+1):
  28. z2=z2-i
  29. #print("z2",z2,"x:",x,"i:",i)
  30. rückkaskade.append(z2)
  31. #print("rück",rückkaskade)
  32. return rückkaskade
  33.  
  34. def überlappungen(x,y):
  35. print("überlappungen",hinkaskade,rückkaskade)
  36. #schnittmenge = set(hinkaskade) & set(rückkaskade)
  37. #print("überlappungen",schnittmenge)
  38. #schnittmenge = list(hinkaskade) + list(rückkaskade)
  39. #myset=set(schnittmenge)
  40. #erg=list(myset)
  41. #erg.sort()
  42. return erg
  43.  
  44. for z in range(3,10,1):
  45. hinkaskade.clear()
  46. erstelle_hinkaskade(z)
  47. rückkaskade.clear()
  48. erstelle_rückkaskade(z)
  49. print("in print",hinkaskade,rückkaskade,überlappungen(hinkaskade,rückkaskade))

Es funktioniert. Nur wenn ich in der Funktion überlappung die zweite Zeile (Zeile 36) freischalte, dann kommt: Tupel - Objekt is not callable.
Es ist dieselbe Funktion, die Du mir zugesendet ist im andern Thread. Dort funktioniert sie, ist aber nicht in einer Funktion, sondern im Hauptmenue. Und was meint er mit callable, die beiden Listen sind doch schon oben in der Funktion "überlappung", denn dort rufe ich ja das Print auf?

Programmieren
Schule 
Thema eröffnet von: Bekell
Irres Schema  
Beitrag No.3 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-17 22:27
Bekell
 

Geschafft! Halleluja! Möchte allen Beitragenden, besonders Nuramon und den Einfältigen loben! Bin ein echter Kaskadeur!
Python
  1. import numpy as np
  2. normkaskade=[]
  3. NrimKaskfeld=0
  4. geskaskadenr=5
  5. kasklänge=9 #(Normkaskade) wird übergeben an gastkaskade und um 2 erhöht)
  6. Zeilensprung=1 #wird bei jeder gastkaskade um eins erhöht
  7. letztgliedNK=0
  8. schnittmenge=0
  9. schnittmenge1=[]
  10.  
  11. def erstelle_normkaskade(a):
  12. liste1=[]
  13. startnk=1
  14. z1=0
  15. nr1=0
  16. for i in range(a,0,-1): #z1 Starrtpunkt 0
  17. z1=z1+i
  18. nr1+=1
  19. #print("Nr: ",nr1,"z1",z1,"i:",i)
  20. liste1.append(z1)
  21. return liste1
  22.  
  23. def erstelle_gastkaskade(x,y,z): #(9,1)
  24.  
  25. liste2=[]
  26. nr2=0
  27. z2=1+y
  28. #print("z2",z2,"x",x,"y",y,"z",z)
  29. liste2.append(z2)
  30. for i in range(x,0,-1): #z1 Startpunkt 0
  31. #liste2.append(z2)
  32. nr2+=1
  33. #print("--Nr: ",nr2,"(z2)",z2,"+ i:",i,"=",z2+i,"y:",y,"beg",beg,"x:",x,"i",i)
  34. z2=z2+i
  35.  
  36. #print("Nr: ",nr2,"(z2)",z2,"+ i:",i,"=",z2,"y:",y,"beg",beg,"x:",x,"i",i)
  37. liste2.append(z2)
  38. #print("z2",z2)
  39. if z2>z:
  40. break
  41. return liste2
  42.  
  43. normkaskade=erstelle_normkaskade(kaskadenr)
  44. print(normkaskade)
  45. letztgliedNK=normkaskade[-1]
  46. for zeilensprung in range(0,13,1):
  47. kasklänge=kasklänge+2
  48. gastkaskade=erstelle_gastkaskade(kasklänge,zeilensprung,letztgliedNK)
  49. print(normkaskade, gastkaskade)
  50. schnittmenge = set(normkaskade) & set(gastkaskade)
  51. #print(schnittmenge)
  52. schnittmenge1 = list(schnittmenge) + schnittmenge1 # Hier sind alle Zahlen drin wi von einer kaskade treffer auf Normlaskade fallen
  53. myset=set(schnittmenge1) # Hier werden Mehrfach treffer entfernt
  54. erg=list(myset)
  55. erg.sort()
  56. print("Nr:",zeilensprung+1,"Trefferzahl rechts von NKask in Kolumne",len(schnittmenge),"gesTref.",len(erg),erg)
  57. print()


[Die Antwort wurde nach Beitrag No.1 begonnen.]

Programmieren
Schule 
Thema eröffnet von: Bekell
Irres Schema  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-17 16:15
Bekell
 

Nachdem ich 6 Stunden probiert habe, dieses einfach erscheinende Schama umzusetzen, bitte ich um angepasste Hilfe. Es geht darum diese einfach erscheinende Schema umzusetzen.

Das Bild war zu groß für dieset Forum, sieht aber interessant aus!
www.directupload.net/file/d/6097/7zpa2ip4_png.htm

Mein Code macht die linke Kaskade mit den gelben Feldern zur Normkaskade. Die Spalten daneben heißen Gastkaskaden. Es geht nun darum, die Nummern der gefärbten Kästchen in die Liste 2 zu kriegen. Liste 1 (Normkaskade) stimmt. Bei den Gastkaskaden stimmt jeweils die erste Zahl, sie muß mit der am linken Rand übereinstimmen, die restlichen sind jeweils um 1,2,3 ... verschoben. Ich krieg's nicht hin ...🤯
Python 3
  1. falscher Code entfernt!
 

Programmieren
Schule 
Thema eröffnet von: Bekell
Python Durchschnitte zweier Listen  
Beitrag No.10 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-17 10:05
Bekell
 

Ganz großen Dank, die Dekomprimierung hilft mir sehr weiter! Ich komme später drauf zurück!
Python
  1. schnittmenge = set(liste1) & set(liste2)

gibt sowas zurück: {65, 51}
Ist das jetzt ein set oder ein Dic. Ich tippe auf ersteres. Ist dann ein Set nur ein Dictionary ohne Values?

Ich will jetzt die Ergebnisse von Schnittmenge in einem Pott vereinen und dafür sorgen daß von jeder Zahl nur eine drin ist. Ich würd das so machen, daß ich probiere:
schnittmenge1 = schnittmenge1.union(schnittmenge)
print(schnittmenge)
Python
  1. schnittmenge1 = schnittmenge1.union(schnittmenge)
  2. print(schnittmenge)

aber, wenn ich so initiiere:
schnittmenge1=0
sagt er: 'tuple' object has no attribute 'union'
wenn ich so initiere
schnittmenge1={}
sagt er:
AttributeError: 'dict' object has no attribute 'union'
Wenn ich so initiiere:
schnittmenge1=[]
'list' object has no attribute 'union'
und wenn ich so initiiere
schnittmenge1=()
sagt er wieder:  'tuple' object has no attribute 'union'

Was soll ich mit Schnittmenge1 machen? Wenn schnittmenge mit geschweiften Klammer ausgegeben wird, ist es doch keine Liste!

Programmieren
Schule 
Thema eröffnet von: Bekell
Python Durchschnitte zweier Listen  
Beitrag No.8 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-16 19:21
Bekell
 

Bist Du so freundlich, Einfältiger und differenzierst mir die Lambda-Funktion aus.... sie funktioniert zwar, aber ich krieg die nicht verstanden!

Programmieren
Schule 
Thema eröffnet von: Bekell
Python Durchschnitte zweier Listen  
Beitrag No.6 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-16 11:31
Bekell
 

2021-02-16 11:27 - DerEinfaeltige in Beitrag No. 5 schreibt:
Geh dein Programm Schritt für Schritt durch.
Dann sollte die Frage sich von selbst beantworten.
...verstehe, wenn die einzige Zahl aus schnittemenge raus ist, kann sie nicht nochmal rausgenommen werden. Danke!

Was mach ich nun, wenn schnittmenge > 1 ist?

Programmieren
Schule 
Thema eröffnet von: Bekell
Python Durchschnitte zweier Listen  
Beitrag No.4 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-16 11:12
Bekell
 

Erklär mir doch mal bitte, warum er "schnittmenge" in P3 und P4 nicht wiedergibt, und warum er schnittmenge.pop() nicht als Indexbeschreibung akzeptiert (in P4), m aber wohl? Du machst das auch immer, die Funktionen ineinander verschachteln.
Python
  1. import numpy as np
  2. liste1=[]
  3. liste2=[]
  4. schnittmenge=0
  5. nr2=nr1=m=k=0
  6. sp1=14 # Startpunkt counter
  7. sp2=sp1+2
  8. z1=1
  9. z2=4
  10.  
  11. for i in range(sp1,0,-1): #z1 Starrtpunkt 0
  12. z1=z1+i
  13. nr1+=1
  14. print("Nr: ",nr1,"z1",z1,"i:",i)
  15. liste1.append(z1)
  16.  
  17. for y in range(sp2,0,-1):
  18. nr2+=1
  19. z2=z2+y
  20. print(nr2,z2,y)
  21. liste2.append(z2)
  22.  
  23.  
  24. print("P1",liste1,liste2)
  25. print("P2",liste1.index(85),liste2.index(85))
  26. schnittmenge = set(liste1) & set(liste2)
  27. m=schnittmenge.pop()
  28. print("P3",schnittmenge,"m:",m)
  29. print("P4",schnittmenge,"Indizes",liste1.index(schnittmenge.pop()),liste2.index(m))

2021-02-16 10:36 - DerEinfaeltige in Beitrag No. 3 schreibt:
int(schnittmenge)
Du versuchst hier eine Menge beliebiger (hashbarer) Objekte in eine Ganzzahl umzuwandeln.
Ich wußte, dass nur 1 Objekt drinne ist.

Programmieren
Schule 
Thema eröffnet von: Bekell
Python Durchschnitte zweier Listen  
Beitrag No.2 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-16 09:28
Bekell
 

2021-02-16 09:16 - DerEinfaeltige in Beitrag No. 1 schreibt:
Denn Elemente können ja bereits in den einzelnen Listen beliebig oft vorkommen.

Danke Einfältiger, bei mir ist es diesmal so, daß jeder wert maximal 1 x vorkommt.
der Befehl
set(liste1)
ist wohl ein Umwandlungsbefehl, oder?

wenn ich jetzt die beiden Indizes der Zahl, die in Schnittmenge enthalten ist, haben will, kann ich schreiben:
  1. schnittmenge = set(liste1) & set(liste2)
  2. k=int(schnittmenge)
  3. print(schnittmenge,liste1[schnittmenge],liste2[schnittmenge])

das geht auch nicht, obwohl ich die Listen anspreche...
Python
  1. print(schnittmenge,liste1.index[189],liste2.index[189])

Das geht auch nicht, obwohl pop eine Methode für Set und Liste ist.
  1. schnittmenge = set(liste1) & set(liste2)
  2. k=int(schnittmenge)
  3. m=schnittmenge.pop()
  4. print(schnittmenge,liste1.index[m],liste2.index[m])

Das nimmt er auch nicht:
Python
  1. 31 #k=int(schnittmenge)
  2. 32 #m=schnittmenge.pop()
  3. ---> 33 print(schnittmenge,liste1.index[-1],liste2.index[-1])

Er sagt: 'builtin_function_or_method' object is not subscriptable
Was mag das heißen... ich google mal ...





Programmieren
Schule 
Thema eröffnet von: Bekell
Python Durchschnitte zweier Listen  
Themenstart
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-16 09:00
Bekell
 

Hallo, gibt es ein Funktion, die dien Durchschnitt* zweier Listen in Python ausgibt?

*mit Durchschnitt meine ich nicht das arithm. Mittel der werte, sondern die werte, die beide Listen gemeinsam haben. Wenn ich Durchschnitt google, kommen immer Vorschläge zum arithmetisches Mittel.



 

Programmieren
Schule 
Thema eröffnet von: Bekell
Array versus Liste Typenproblem  
Beitrag No.12 im Thread
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag2021-02-14 22:27
Bekell
 

Stand der Dinge ist:

Liste: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Liste: [1, 2, 1, 0, 0, 0, 0, 0, 0, 0]
Liste: [1, 2, 1, 2, 2, 1, 0, 0, 0, 0]
Liste: [1, 2, 1, 2, 2, 1, 2, 2, 2, 1]
Zeilensumme [4 6 3 4 4 2 2 2 2 1]
true
dict_values([[1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 2, 1, 0, 0, 0, 0, 0, 0, 0], [1, 2, 1, 2, 2, 1, 0, 0, 0, 0], [1, 2, 1, 2, 2, 1, 2, 2, 2, 1]])
dict_items([(0, [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]), (1, [1, 2, 1, 0, 0, 0, 0, 0, 0, 0]), (2, [1, 2, 1, 2, 2, 1, 0, 0, 0, 0]), (3, [1, 2, 1, 2, 2, 1, 2, 2, 2, 1])])

Hab die Kaskaden jetzt im Dictionary.

Jetzt versuch ich sie geordnet zu entnehmen, zu drehen, und zurückzupacken.
Achtung: Es sieht wieder chaotisch aus, aber ich verstehe den Code halbwegs.  
Python
  1. def ermittel_trigonal(x):
  2. zahl=0
  3. y=x+1
  4. for i in range(1,y):
  5. zahl=zahl+i
  6. return zahl
  7.  
  8. v=1 # Vorschub
  9. s=1 #schrittweite
  10. anzahlkaskaden=4
  11. liste=[]
  12. langliste=[]
  13. kaskade=[]
  14.  
  15. def kaskadenhülle(x,anzahlkaskaden):
  16. kaskadenhülle=[]
  17. for i in range(0,ermittel_trigonal(anzahlkaskaden),1): #hier baut er Länge mit Nullen gefüllt
  18. kaskadenhülle.append(0)
  19. return(kaskadenhülle)
  20.  
  21. def bau_kaskaden(x,anzahlkaskaden):
  22. kaskade=[]
  23. w=0
  24. for i in range(0,x,1):
  25. kaskade.append(1) #Hier werden die Stellen der Normkaskade eingetragen)
  26. w=w+1
  27. for y in range(0,w,1):
  28. kaskade.append(2) # Eintrag der Zwischenräume
  29. kaskade.append(1)
  30. return (kaskade)
  31.  
  32. def eintrag_kaskade(x,a,v,s):
  33. b=len(a)
  34. nr=0
  35. st=0 #Stellenhochsetzer bestimmt wo die Zahl abgelegt wird. wenn immer auf 0, invertiert die zahl
  36. for i in list(a):
  37. x.pop()
  38. x.insert(st,i)
  39. st+=1
  40. return x
  41.  
  42. mytarolo={}
  43. for i in range(0,anzahlkaskaden,1):
  44. kaskade=bau_kaskaden(i,anzahlkaskaden)
  45. KH=kaskadenhülle(i,anzahlkaskaden)
  46. liste=eintrag_kaskade(KH,kaskade,v,s)
  47. print("Liste:",liste)
  48. mytarolo[i]=liste
  49.  
  50. langliste.extend(liste)
  51. arr = np.array([langliste])
  52. arr = arr.reshape(anzahlkaskaden, ermittel_trigonal(anzahlkaskaden))
  53. zeilensumme = np.sum(arr,axis=0)
  54. print("Zeilensumme",zeilensumme)
  55. if 1 in zeilensumme:
  56. print("true")
  57. else:
  58. print("false")
  59.  
  60. pap = mytarolo.values()
  61. print(pap)
  62. tat = mytarolo.items()
  63. print(tat)

Wie kann ich jetzt eine Liste entnehmen, und drehen?

 

Sie haben sehr viele Suchergebnisse
Bitte verfeinern Sie die Suchkriterien

[Die ersten 20 Suchergebnisse wurden ausgegeben]
Link auf dieses Suchergebnis hier
(noch mehr als 20 weitere Suchergebnisse)

-> [Suche im Forum fortsetzen]
 
 

 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]

used time 0.088924