Permalänk
Medlem

Python Fel

Jag har precis börjat programmera i python och har försökt att göra ett program som räknar ut arean av en triangel. Men jag har stöt på ett problem som jag inte vet vad som är felet

#!/usr/bin/python # -*- coding: utf-8 -*- print "Do you know the area of a Triangle" print "I do" hojd=raw_input("Hight: ") bas=raw_input("Base: ") area = hojd * bas area = area / 2 print area

Det står bara ett felmeddelande

Permalänk
Medlem

Tror att det man skriver in i raw_input är i strängform, du måste göra om det till tal.

Tror att du får skriva:

print "Do you know the area of a Triangle" print "I do" hojd=raw_input("Hight: ") bas=raw_input("Base: ") area = int(hojd) * int(bas) area = area / 2 print area

Visa signatur

CPU: AMD Ryzen 5 3600 XT | RAM: 16GB 3200MHz | MB: Asus Prime B350-Plus | GPU: Sapphire Radeon RX 5600 XT Pulse | PSU: EVGA 650 GQ | Chassi: Fractal Design Define C | SSD: Intel 600p 512 GB

Permalänk
Medlem

Om du tar input("Hight: ") och input("Base: ") så kommer det funka.
Dvs:

print "Do you know the area of a Triangle"
print "I do"
hojd=input("Hight: ")
bas=input("Base: ")

area = hojd * bas
area = area / 2
print area

Edit: var inte snabb nog, men JonteP0nte's sätt funkar också.

Permalänk
Medlem

Traceback (most recent call last):
File "test.py", line 8, in <module>
area = hojd * bas
TypeError: can't multiply sequence by non-int of type 'str'

svar: du kan inte använda multiplikationstabellen på en string.

testa det här:

#!/usr/bin/python
# -*- coding: utf-8 -*-

print "Do you know the area of a Triangle"
print "I do"
hojd=float(raw_input("Hight: "))
bas=float(raw_input("Base: "))
area = hojd * bas / 2
print area

*edit jonteponte och genii var snabbare på tangenterna än jag, men deras metoder funkar också

Permalänk
Medlem

Tackar för svaren och att det gick så fort att få hjälp. Tyvärr skulle jag precis sticka och kunde inte kolla förrens nu.
Men tack så hemskt mycket!