• 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

14 år 4 måneder 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

14 år 4 måneder 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

14 år 4 måneder 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

14 år 4 måneder 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

Ja jeg er ret glad 0
KDE-dokumentar 0
YT-DLP-En piratkopieringsplatform? 0
Holland lavede en Nix-baseret Linux desktop, fordi Microsoft afskar ICC fra adgang. 0
Brave lancerer e-mail-aliasser for at skjule din rigtige e-mailadresse 0

Seneste aktivitet

GRUB eller Limine? 3
Linux live sucks 14
IT Uafhængighed - eller ? 1
AI genererede, Adobe inspirerede apps. 4
Hvordan opdaterer den 1
Det engang så elskede PCLinuxOS er tilbage - og det er stadig en fantastisk Windows erstatning 3
Jolla phone 2026 7
JOPDF for Linux 5
Arch Linux baseret Omarchy har sikret sig 8 millioner dollars i støtte 1
Debian 13 overtager over 2.200 kontrolsystemer hos CERN 2
USB Printer 2
Fremviser 2
Udbud af MitID-løsningen 2
Hvad gør jeg 1
tst 2
Gnome extensions 7
Commodore-telefon med SailfishOS 3
(U)hyggen breder sig 8
Lenovo P16 2
Microsoft har netop officielt bragt Linux kommandoer til Windows 2

© 2026 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !