Tomma listor med linjediagram
Mitt linjediagram är helt tomt, vet någon vad det beror på?
Instruktionen är så här:
- Skapa två tomma listor x5 och xp2
Fyll listan x5 med den matematiska funktionen y = 5x för x-värden från 0 till 10 (endast heltal)
Fyll listan xp2 med den matematiska funktionen y = x^2 (upphöjt till) för x-värden från 0 till 10 (endast heltal)
Visa de båda matematiska funktionerna i ett linjediagram med två linjer
och mina kod är:
# Definiera två tomma listor
x5 = []
xp2 = []
# Fylli listan x5 med y= x5 från 0 till 10
for x in range(0, 11):
x5.append(x5)
# Skriv ut listan
print(x5)
# Fyll i listan xp2 med y = x^2 från 0 till 10
for x in range(0, 11):
xp2.append(x**2)
# Skriv ut listan
print(xp2)
# Generera listorna med list comprehension
x5 = [x5 for x in range(0, 11)]
xp2 = [x**2 for x in range(0, 11)]
print(x5)
print (xp2)
# Importera plot-funktionen och tilldela den namnet plt
import matplotlib.pyplot as plt
# Skapa linjediagram från listorna med x5 och xp2 värden
plt.plot(x5, label="x5")
plt.plot(xp2, label="x**2")
# Sätt titel på axlarna
plt.ylabel("y")
plt.xlabel("x")
# Visa förklaring (labels)
plt.legend()
# Visa grafen
plt.show()
Du skriver ut x5 och xp2 några gånger, det är bra. Tycker du att de innehåller det de ska?
Det tror jag, det som jag vill se om själva diagrammet stämmer med funktionen kanske.
Mercy skrev:Det tror jag, det som jag vill se om själva diagrammet stämmer med funktionen kanske.
Få se vad utskrifterna av listorna blir.
Det blir långa och tomma listor. Anledningen är att x5 initieras tom och adderas sedan till sig själv ett antal gånger; både i for-loopen och sedan i en list comprehension (varav den ena är överflödig).
Det blir så p g a ett saknat multiplikationstecken. "x5" är inte en multiplikation utan ett namn på variabeln. För att multiplicera behöver du skriva "5*x" (eller "x*5").
x5.append(5*x)
eller
x5 = [5*x for x in range(0, 11)]
Exakt! Det var det som gjorde felet, tack så hemskt mycket !