• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af dbuch | 04.06.2012 09:35

Python 3, hjælp

Programmering
Jeg har lavet et lille program;
import math
i1=float(input())
i2=float(input())
result=math.sqrt(i1 * i2)
print(result)


Det gør hvad det skal, men synes det her input er noget mærkeligt noget, skal der laves var for hver input linje?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer4

# 1

13 år 1 måned siden

Permalink

Indsendt af Kristho den 4. juni 2012 kl. 09:46

Permalink

Ja, det vil jeg mene :)

Ja, det vil jeg mene :) Måske hvis der var flere input-linjerne, kunne man lave en liste med værdier, og så lave et for-loop igennem dem alle :)
  • Log ind eller opret dig for at tilføje kommentarer

# 2

13 år 1 måned siden

Permalink

Indsendt af dbuch den 4. juni 2012 kl. 09:54

Permalink

Nå det kommer jeg nok til i

Nå det kommer jeg nok til i mit trænings program :)
  • Log ind eller opret dig for at tilføje kommentarer

# 3

13 år siden

Permalink

Indsendt af batnas den 4. juni 2012 kl. 18:06

Permalink

Prøv

Prøv med:

i1,i2=float(input()),float(input())
  • Log ind eller opret dig for at tilføje kommentarer

# 4

13 år siden

Permalink

Indsendt af mh den 5. juni 2012 kl. 07:14

Permalink

Alternativer til at lave

Alternativer til at lave variabler til hver input linje kan være en while-True lignende struktur hvori man enten smider input linjerne i en container type eller udregner mellemresultatet undervejs.

Eksempel med list:

#!/usr/bin/env python3

from math import sqrt

inputdata = []

reading_input = True
while reading_input:
inputline = input("Enter value (float or 'result'): ")
if inputline=="result":
if inputdata: #if not empty
val = inputdata.pop() # alternative: val = functools.reduce(mul,inputdata)
while inputdata: #while not empty
val = val*inputdata.pop()
res = sqrt(val)
print(res)
else:
print("No data to perform sqrt on.")
reading_input = False #exit loop
else:
try:
inputdata.append(float(inputline))
except ValueError as e:
print(e)


Eksempel med mellemregning:

#!/usr/bin/env python3

from math import sqrt

val = None

reading_input = True
while reading_input:
inputline = input("Enter value (float or 'result'): ")
if inputline=="result":
if val != None: #if initialized
res = sqrt(val)
print(res)
else:
print("No data to perform sqrt on.")
reading_input = False #exit loop
else:
try:
if val == None: #initialize
val = float(inputline)
else:
val = val*float(inputline)
except ValueError as e:
print(e)
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

den er sjov 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
En snak om Linux-kompatibel software 7
Nulstilling af adgangskode 6
PCLinuxOS 27
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !