• 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 6 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

13 år 6 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

13 år 6 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

13 år 6 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

Har brugt GLF OS, en NixOS-baseret distribution lavet i Frankrig. 0
KDE overgår indsamlingsmålet for 2025 med rekordstor støtte fra lokalsamfundet 0
Zypper Package Manager brugervejledning til openSUSE brugere og deres derivater 0
KDE Spectacle tilføjer OCR understøttelse for at kopiere tekst direkte fra skærmbilleder 0
Deaktiverer alle AI-funktioner i Firefox Web Browser 0

Seneste aktivitet

Linuxin er nu migreret til Drupal 11 15
Flere genveje på Firefox skrivebordet 3
Dansk distro til software udviklere 3
Driver til min scanner? 3
Affinity V3 2
copy hvordan 1
Sortering af filer - sort of... 4
Det der ikke må galt gik galt 5
VPN — 8 tests, 1 klar vinder i 2025 3
Lidt nostalgi 1
Forum. 1
BigLinux 1
Mount btrfs-device fra ext4 8
Skal vi være nervøse? 22
How to upgrade to LMDE 7 6
Kontakt til dansk-gruppen 3
Internettet er ved at dø. Vi kan stadig stoppe det 1
Nørder søger nørder: Første Linux-brugergruppe på Mors 3
Østrigsk ministerium smider Microsoft ud til fordel for Nextcloud 1
Brug carburetor til at forblive usynlig online 8

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !