• Välkommen till ett uppdaterat Klocksnack.se

    Efter ett digert arbete är nu den största uppdateringen av Klocksnack.se någonsin klar att se dagens ljus.
    Forumet kommer nu bli ännu snabbare, mer lättanvänt och framför allt fyllt med nya funktioner.

    Vi har skapat en tråd på diskussionsdelen för feedback och tekniska frågeställningar.

    Tack för att ni är med och skapar Skandinaviens bästa klockforum!

    /Hook & Leben

Programmering mm.

Widowmaker

Audemars
2-Faktor
Du behöver ändra scriptet så att den gör vad du vill att den ska göra. Kolla igenom ditt script igen och se om du kan ändra något ;)



Det går. CD & Mkdir & nano är bra för sånt! Sen se några poster upp till de länkarna @Tomas Eriksson postade samt den om chmod :)


Nu förstod jag inte riktigt. Skriptet gör det jag vill :D men jag skriver ju scriptet i en textfil på "skrivbordet" du menar att jag typ kan skriva mkdir home/pi/test? För att skapa mappen test i den katalog jag menar?
 

Widowmaker

Audemars
2-Faktor
cd Desktop/
./scriptnamnet
Bash har även en historik, så du kan använda upp och nedåtpil för att köra tidigare kommando utan att behöva skriva kommandot igen
Sen grundläggande filsystemkunskap:
/ = rooten på filsystemet
~ = nuvarande användares hemkatalog

Friendly reminder, lägg en 5-6 timmar på att bara plöja lite material så kommer du bli mycket mer självgående

Tror inte jag lyckas förklara mitt problem.:p

Medveten om de du skriver :) tack iaf.
 

Widowmaker

Audemars
2-Faktor
vill du skriva till en fil oavsett var ifrån filsystemet du står så använd tex ~/Desktop/filnamn.txt istället för tex bara filnamn.txt

Om jag vill få mitt script att skapa file'n och mappen som de script jag gjort fast i home/pi katalogen. Det jag inte riktigt förstår.

För jag skapar ju scriptet i en textfil på.Desktop. Sedan ligger dem ju där. Get it?:)
 

Tomas Eriksson

Vacheron
Pledge Member
2-Faktor
Hej igen. Tack för allt tidigare..

Nu är jag på en uppgift där jag fått brainfreezeee.. Uppgiften är :

https://www.raspberrypi.org/learning/window-on-the-weather/worksheet/


Lätt som fan. Meen. Steg 3 i andra delen där jag ska ladda hem det färdiga scriptet och sen köra..

Var ska jag kopiera in det någonstans? Eller göra med det alls?? Är inget vanligt script som jag tidigare jobbat med..

Mvh
Står du i terminalen kan du köra "curl -O https://www.raspberrypi.org/learning/window-on-the-weather/code/weather.py" för att ladda ned scriptet till katalogen du står i, sen direkt efter är det bara att köra det som beskrivet genom att skriva "python3 weather.py". Spelar egentligen ingen roll vart du laddar ned och kör scriptet, vart är mest för din egna ordnings skull.
 

Widowmaker

Audemars
2-Faktor
Står du i terminalen kan du köra "curl -O https://www.raspberrypi.org/learning/window-on-the-weather/code/weather.py" för att ladda ned scriptet till katalogen du står i, sen direkt efter är det bara att köra det som beskrivet genom att skriva "python3 weather.py". Spelar egentligen ingen roll vart du laddar ned och kör scriptet, vart är mest för din egna ordnings skull.

Nu hängde jag inte riktigt med. Det är inget vi gått igenom tidigare i kursen. Tror du det är så dem vill jag går till väga? Oavsett hur laddar jag ned detmenar eu
 

Widowmaker

Audemars
2-Faktor
får detta svar när jag försöker köra det:
pi@raspberrypi:~ $ python3 weather.py
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/scratch/__init__.py", line 39, in __init__
self.connection.connect((host, 42001))
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "weather.py", line 3, in <module>
s = scratch.Scratch()
File "/usr/local/lib/python3.4/dist-packages/scratch/__init__.py", line 45, in __init__
raise ScratchConnectionRefused('Connection refused, try enabling remote sensor connections')
scratch.ScratchConnectionRefused: Connection refused, try enabling remote sensor connections
 

Widowmaker

Audemars
2-Faktor
tack för all hjälp, Fick: B i slutbetyg på kursen.. har nu pluggat Programmering 1 = C# i en vecka och ska göra mina första inlämningsuppgifter. Har gjort två st. "prov" med frågor och exempel man ska svara på , vilket jag naila.. Nu kom uppdragen och jag fatta fan nada.. HaHA känner mig helt eftrbliven. TOTALT sär..

ÄR iof för att dem inte nämner vilka typer av variabler mm. och använder text så jag blir helt lost.. det är iaf tre uppgifter. Vet man inte ska låta andra göra dem osv.. Men om någon kan göra exempel eller leda mig in på rätt spår så kanske jag kan börja förstå :D haha.. uppgifterna är följande:
1:
Pension Denna uppgift handlar (minst) om
 Två variabeltyper
 Matematiska uträkningar
 Hantera utskrifter

I denna uppgift ska du fråga användaren efter personens förnamn och efternamn, samt vidare personens ålder.
Dessa värden ska lagras i lämpliga variabler. Därefter ska det skrivas ut hur många år det är kvar till pensionen, tillsammans med användarens för- och efternamn.
Det innebär att om personen skriver in åldern 25 så ska det stå att personen har 40 år kvar till pensionen (65-25).
Tänk på hur utskrifterna ser ut – programmet ska se trevligt ut helt enkelt.
Utskriften i slutet kan exempelvis se ut så här: Hej Martin Persson! Det är nu 22 år kvar till du går i pension.


2:
Denna uppgift handlar om flyttal och att avrunda sådana.

Uppgiften går ut på att du ska be användaren skriva in ett tal med decimaler.

Därefter ska ni be användaren skriva in hur många decimaler användaren vill ha.

Din kod ska avrunda talet enligt ovan, men också med ett på förbestämt antal decimaler (exempelvis tre).

Exempel:

Användaren skriver in talet 1,3457322 och 5 för antal decimaler. Talet redovisas dels med så många decimaler som användaren valt (1,34573), samt även med tre decimaler (1,346).

Ni kan alltså prova att jobba med avrundning på mer än ett sätt.

Detta är en uppgift där ni delvis får söka lösning på problemet på nätet eller andra böcker. Många är vana vid att söka på nätet men det är viktigt att alla vänjer sig vid detta arbetssätt.



3:
”Gissa talet” Följande moment ingår i denna uppgift:
1. Slumptal
2. Heltal
3. Loop med do och while
4. Villkor med if och else
Beskrivning :
Användaren ska gissa ett tal som slumpats fram. När programmet startar ska lämplig text skrivas ut till användaren och ett tal slumpas i bakgrunden.
Detta tal ska vara mellan 1 och 100, och detta tal ska lagras i en variabel.
För att slumpa ett tal mellan 1 och 100 används följande kod: Random randomerare = new Random(); int slump_tal = randomerare.Next(1, 100);
Notera att du inte behöver begripa den koden ännu, men längre fram och med mer kunskap kommer du också förstå vad som händer i koden.
Så i detta läge får man helt enkelt svälja att det är så man skriver för att lagra ett slumptal mellan 1 och 100 i variabeln slump_tal.

Prova gärna att göra ett enkelt program som skriver ut 10 olika slumptal i en loop för att dels öva på loopar och dels se att slumptalet fungerar som det ska.
Nu ska en loop inledas och i den loopen ska användaren få skriva in ett tal. Om talet är mindre än det hemliga slumpade talet ska användaren noteras om detta, och samma sak om talet är för stort.
Loopen ska snurra ända till användaren lyckas skriva in det hemliga talet. Då ska en lämplig text skrivas ut.
Tänk på att göra ett snyggt (textmässigt) och tydligt program.

Göra det svårare Du får gärna föra uppgiften lite svårare om du vill. Här kommer några förslag:
1. Håll reda på hur många gånger du behövde gissa innan du prickar rätt och skriv ut detta
2. Om man är nära att gissa rätt kan man få en text att det ”bränner” eller något liknande. Det kan vara om man är ett visst antal nummer ifrån det hemliga talet.
 

Widowmaker

Audemars
2-Faktor
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace uppdrag
{
class Program
{
static void Main(string[] args)
{


//Enkelt program som frågar efter namn och räknar ut år kvar till pension.

Console.Write("Skriv in ditt Förnamn: "); //frågar efter Förnamn
string namn = Console.ReadLine();

Console.Write("Skriv in ditt efternamn: "); //frågar efter Efternamn
string efternamn = Console.ReadLine();

string heltnamn = "Hej " + namn + " " + efternamn; // frågar efter fullständigt namn med mellanslag
Console.WriteLine(heltnamn);


int ålder;
int pension;

Console.Write("När vill du gå i pension? ");//frågar när du vill gå i pension
pension = Convert.ToInt32(Console.ReadLine());



Console.Write("Skriv in din nuvarande ålder: "); // frågar efter ålder
ålder = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Du har " + (pension - ålder) + "år kvar till pensionen, jobba på! :)"); // räknar ut 65 - nuvarande ålder









Console.ReadLine();





}
}
}
 
Senast ändrad:

Hoarz

Cartier
2-Faktor
Vad är det du inte förstår? I första uppgiften är du på rätt väg. Men du bör kontrollera så att input faktiskt är en integer. Sen måste du tilldela integers ett initialt värde när du deklarerar en variabel.

Uppgift två: använt Math.Round().

Uppgift tre: Slumpa fram ett tal, lagra i en variabel. Jämför med indata. Att göra en loop och lägga koden där antar jag att du vet hur du gör.
 

Widowmaker

Audemars
2-Faktor
Vad är det du inte förstår? I första uppgiften är du på rätt väg. Men du bör kontrollera så att input faktiskt är en integer. Sen måste du tilldela integers ett initialt värde när du deklarerar en variabel.

Uppgift två: använt Math.Round().

Uppgift tre: Slumpa fram ett tal, lagra i en variabel. Jämför med indata. Att göra en loop och lägga koden där antar jag att du vet hur du gör.


Det du säger om första uppgiften förstår jag ej. Ge gärna exempel. Eller vIsa rakt av :D

Tack för ledtråd angående de andra två :)

Mvh
 
Senast ändrad:

Widowmaker

Audemars
2-Faktor
Har du testat skicka in en sträng istället för en integer när du frågar efter en integer?

Ja det funka inte ? Därav conver.toint32? Eller gjorde jag tvärtom eller har jag använt den fel?

Har ju använt variabeln (ålder) till att bli det värde som användaren skriver in och sedan omvandla denna string till int?
 

Widowmaker

Audemars
2-Faktor
Tycker du att programmet ska krascha när någon skriver in fel?

Hmm. Som i att inte skriva ålder med siffra? Utan om den skriver med tecken? Då kan det inte beräkna. Så du menar? 'Som sagt aldrig läst denna typ förut. Bara läst boken + materialet i kursen. Vilket inte ens gick igenom allt uppdraget innehåller.
 

DiscoPapa

Rolex
2-Faktor
Nu är jag ute och cyklar kanske då jag bara nuddat ytligt vid programmering men borde man inte skapa nån form av array 1-64?
 

Torsten

Vacheron
2-Faktor
Hmm. Som i att inte skriva ålder med siffra? Utan om den skriver med tecken? Då kan det inte beräkna. Så du menar? 'Som sagt aldrig läst denna typ förut. Bara läst boken + materialet i kursen. Vilket inte ens gick igenom allt uppdraget innehåller.
När du hållit på med programmering ett tag och sett vad användarna gör kommer du snabbt att inse att felhantering är viktigt. Du vet att man ska skriva in siffror men jag lovar att någon kommer att skriva "sjutton år" och då måste ditt program kunna hantera det och informera användaren om att åldern ska anges med siffror.
 

Widowmaker

Audemars
2-Faktor
När du hållit på med programmering ett tag och sett vad användarna gör kommer du snabbt att inse att felhantering är viktigt. Du vet att man ska skriva in siffror men jag lovar att någon kommer att skriva "sjutton år" och då måste ditt program kunna hantera det och informera användaren om att åldern ska anges med siffror.

Hmm, ok. Låter ju självklart. Då är frågan. Hur fasen får man till ett felmeddelandd som säger personen inte använt siffor och läser om just den raden. Typ: if, if else?

Haha blir yr. Kan ingen komma med konkret kod exempel :D så jagslipper gissa ;)
 
Topp