9 svar
635 visningar
lund 529
Postad: 11 nov 2020 23:40 Redigerad: 11 nov 2020 23:43

poly_to_string

Hej,

Jag ska i Python programmera om så att en lista endast innehållande nollor som element skrivs ut som endast noll med användandet av poly_to_string. Det vill säga exempelvis att [0,0,0] skrivs ut som "0". Har ni tips på hur jag kan gå tillväga då?

Jag har redan omvandlat så att termer med koefficient 1 skrivs utan koefficient enligt följande kod: 

if coeff == 1: # För att ta bort ettan
coeff = ''

Och omvandlat så att den tomma listan skrivs ut som "0" enligt följande kod:

if p_list == []:
terms.append("0")

Laguna Online 30482
Postad: 12 nov 2020 00:03

Det verkar handla om representation av polynom.

Hur vill du skriva ut [2, 0, 3]?

Jag menar, det är förmodligen inte bara listor med enbart nollor som behöver hanteras. 

Men för att kolla om en lista innehåller enbart nollor kan du skriva en liten funktion som går igenom listan och returnerar False när den träffar på ett element som inte är noll. Har den gått igenom hela listan returnerar den True. 

lund 529
Postad: 12 nov 2020 00:13 Redigerad: 12 nov 2020 00:31

Hej Laguna,

[2,0,3] ska skrivas ut som 2+3x2 och så långt har jag lyckats. Det är bara den sista biten där en lista med nollor ska skrivas som "0" som jag inte får till.

lund 529
Postad: 12 nov 2020 00:40

Tänkte att det kanske är enklare att hjälpa mig på traven om jag bifogar min kodning hittills:

Laguna Online 30482
Postad: 12 nov 2020 07:17

Om alla koefficienter är noll så är 'terms' fortfarande [] när du är klar, så du kan testa på det.

När du slår ihop termerna med "+", hur blir det då om en koefficient är negativ?

lund 529
Postad: 13 nov 2020 12:43 Redigerad: 13 nov 2020 12:43
Laguna skrev:

Om alla koefficienter är noll så är 'terms' fortfarande [] när du är klar, så du kan testa på det.

När du slår ihop termerna med "+", hur blir det då om en koefficient är negativ?

Ber om ursäkt, men förstår inte riktigt vad du menar? Kan tillägga att jag är väldigt ny på Python.

Laguna Online 30482
Postad: 13 nov 2020 12:58

Hur skriver du ut [2, -1]?

lund 529
Postad: 13 nov 2020 12:59 Redigerad: 13 nov 2020 12:59

Tack, [2,-1] skriver jag ut som 2-x.

Lindehaven 820 – Lärare
Postad: 13 nov 2020 17:11

Det finns flera sätt att kontrollera om listan är tom eller om alla värden i listan är noll, här är ett exempel:

if not p_list or p_list[0] == 0 and p_list.count(p_list[0]) == len(p_list):
    terms.append("0")
Laguna Online 30482
Postad: 13 nov 2020 18:39
lund skrev:

Tack, [2,-1] skriver jag ut som 2-x.

Blir det så? Du sätter + mellan alla termer, ser det ut som. 

Svara
Close