[Python] Hur gör jag ett frågeformulär i Visual Studio?

Permalänk
Medlem

[Python] Hur gör jag ett frågeformulär i Visual Studio?

Jag försöker göra ett enkelt frågeformulär i Python genom Visual Studio. Jag är helt grön när det kommer till Visual Studio och Python, men med det sagt är det ändå svårare än vad jag trodde att det skulle vara.

Jag vill göra ett program/app/whatever som en användare kan öppna från skrivbordet och fylla i information som sen processeras och ger tillbaka ett värde. Kan någon visa mig exempel på hur det kan se ut i Python-kod?

Jag vill fråga om följande saker:

Age (minst 3 år):
Gender (M/F):
Weight (kg):
Height (cm):

Jag vill att Python ska ta svaren och använda dem i en av två algoritmer(?):

Män
10 x weight (kg) + 6.25 x height (cm) - 5 x age (y) + 5

Kvinnor
10 x weight (kg) + 6.25 x height (cm) - 5 x age (y) - 161

Svaret kallas "BMR". Användaren får svaret tillbaka som: "Your BMR is X"

Jag vill att användaren sen ska kunna välja mellan fem olika värden som ska multipliceras med BMR, och att ett nytt svar visas beroende på vilket värde som väljs.

Dold text

Jag hoppas att jag inte går till väga på fel sätt när jag ber om hjälp med det här. Jag vill inte att det ska framstå som att jag vill att någon annan gör arbetet för mig och att jag bara snor det. Jag har försökt lösa det själv, men fastnade ganska tidigt och visste inte vart jag skulle vända mig för att ta reda på vad jag gjorde fel. Olika källor från youtube och google-sökningar använde Python-språk som var inkompatibelt med det jag använde i Visual Studio, eller hade andra problem som gjorde att jag inte kunde få hjälp från dem. Om jag hade varit lite bättre på Python hade jag försökt skriva hela saken själv, och sen frågat om enstaka problem som uppstått, men på grund av hur lite jag kan måste jag fråga om hela grejen. Mitt syfte är att lära mig att programmera (Python till att börja med) för att i framtiden kunna jobba som en mjukvaruutvecklare, och pyssla hemma med projekt.

Permalänk
Medlem
Skrivet av Hìthae:

Jag vill göra ett program/app/whatever som en användare kan öppna från skrivbordet och fylla i information som sen processeras och ger tillbaka ett värde.

Jag är inte utvecklare, men python är skript baserat, du skickar en .py fil till pythons "IDLE" så du skapar inte program eller appar direkt, det går att göra GUI fönster, men du borde nog lära dig språket först.

Att göra det du vill få ut är inte så komplicerat i text/CLI form, men det kräver att du åtminstone gått genom grunderna om språket.

Om du är helt ny med programmer och python skulle jag föreslå att du tittar genom denna video, som är runt 11h lång.

https://www.youtube.com/watch?v=9uq3w6JJS00&list=PL1Z_7yg6Pa3...

Permalänk
Medlem

@VexedRelic: Tack för tipset med videon! Mitt problem är att jag tycker att det är enklare att lära mig om jag använder språket produktivt ("lära genom att göra"). Jag håller på att gå genom tutorial på codeacademy.com, men det är lätt att glömma eftersom jag inte får öva praktiskt.

Permalänk
Medlem

Python är ett script språk så nå vidare grafisk gränssnitt får du tyävrr inte enkelt (Det finns en del ramverk du kan titta på senare).

Annars bör det här hjälpa dig:
https://en.wikibooks.org/wiki/Python_Programming/Input_and_Ou...

Mattematiken och variabler antar jag att du redan har lite koll på!

Visa signatur

~. Citera så jag hittar tillbaka .~

Permalänk
Medlem

@KeVVa: Jag har någorlunda koll på variabler, men vet inte hur jag ska åkalla dem eller låta användaren definiera dem alltid. Matten är inga problem i sig, men jag vet inte hur jag ska be Python att lägga ihop det åt mig.

Angående grafiken, det ska väl vara möjligt att få ett enkelt GUI? T.ex. med Tkinter? Jag behöver inte mycket mer än så.

Permalänk
Medlem
Skrivet av Hìthae:

@KeVVa: Jag har någorlunda koll på variabler, men vet inte hur jag ska åkalla dem eller låta användaren definiera dem alltid. Matten är inga problem i sig, men jag vet inte hur jag ska be Python att lägga ihop det åt mig.

Börja med att sätta variabler, typ:

weight = 5
height = 105

Sedan gör input för användaren.

Weight = input("What is your weight? ")
Height = input("What is your height? ")

Nästa sak är att du måste nog göra en if/else statement baserat på vad användaren väljer på strängen på gender, antingen M eller F.

Sedan så kanske du måste byta data typer, kanske sträng till integer, ha förståelse över syntax osv. Mitt råd är att du programmerar och tränar på saker om du inte ense minns funktionen input (eller raw_input i python 2). Du måste lär dig gå först, innan du lär dig spring, som I det här fallet skapa GUI i Python. Så du borde nog behärska och förstå Python i text form innan du börjar med grafik.

Permalänk
Medlem

@Hìthae:

Här har du ett litet exempel:

age = int(raw_input('\r\nWhat is your age?')) gender = raw_input('\r\nWhat is your gender? (M/F)') weight = int(raw_input('\r\nWhat is your weight? (kg)')) height = int(raw_input('\r\nWhat is your height? (cm)')) result = (10 * weight + 6.25 * height - 5 * age + 5) print "\r\n" print(result)

Visst går det att ordna gränssnitt - men om du ännu inte kan skriva det simplaste scriptet tycker jag att du ska hålla dig på konsolnivå tills du känner dig trygg i språket. Annars är risken att allt blir spaghetti :/

Visa signatur

~. Citera så jag hittar tillbaka .~

Permalänk
Medlem

Tack för tipsen än så långt. Det har varit hjälpsamt! Om det här är för hög nivå, har ni ett förslag på vad som är mer "krypa" nivå? Jag vill skapa något, även om det är väldigt enkelt.

Permalänk
Medlem
Skrivet av Hìthae:

Tack för tipsen än så långt. Det har varit hjälpsamt! Om det här är för hög nivå, har ni ett förslag på vad som är mer "krypa" nivå? Jag vill skapa något, även om det är väldigt enkelt.

Börja med att lära dig hur du ger en variabel ett värde genom input från användaren. Sen kan du börja lägga ihop variabler och fortsätta därifrån.

Edit: Eller näe.

Börja med att ge variablerna ett förbestämt värde, T ex

A=8;
B=13;

Testa sen hur du kan använda dessa.
Kolla hur if/for/while--satser fungerar

Exempel 1.

Jag kastar en tärning och får x.
Om x är större än eller lika med 4 ska "Success!" skrivas ut.
Om inte, dvs x är mindre än 4 ska "Fail!" skrivas ut.

Testa sedan att ändra värden på x manuellt.

Steg 2. Gör så x är ett slumpmässigt tal mellan 1 och 6.

Exempel 2.

Jag har 100kr och du har 80kr.
Vi slår vad om ett tärningskast.
Kastar 2 tärningar och får högre än eller lika med 7 så ger du mig dina pengar. Annars ger jag dig mina pengar.

Vem vinner?

Visa signatur

Asus Z87-A | Intel Core i5 4670k | Gigabyte GTX 770 OC | Corsair Vengeance 2x4GB | Samsung Evo 250GB | WD Blue 1TB | Corsair RM650 | Fractal Design R4 | Dell P2414H | Fujitsu P23T-6 Thor | SteelSeries Rival |
Microsoft Sidewinder X4 | QPAD FX 90 Mousepad | Creative Sound Blaster X-Fi | Sony 2x100W | Technics SB-CS6

Permalänk
Medlem
Permalänk
Medlem

Annars så är väl PyQT den bästa framworken för python GUI, iaf vad jag hört. Finns t.ex många olika widgets som gör saker som du bara behöver lägga till i koden, utan att behöva skriva de själv.