Montag, Mai 25, 2020

so erstellen Sie einen Bereich der zufällige Dezimalzahl zwischen 0 und 1

wie definiere ich dezimalen Bereich von 0 bis 1 in python? Range () – Funktion in python gibt nur int-Werte. Ich habe einige Variablen in meinem code, deren Zahl variiert von 0 bis 1. Ich bin verwirrt, wie kann ich das in den code. Danke

Ich möchte hinzufügen, mehr auf meine Frage. Es ist kein Schritt oder jede Inkrement-Wert generieren würde, die decimal-Werte. Ich habe eine variable verwenden, die einen Wert von 0 bis 1. Es kann ein beliebiger Wert sein. Aber das Programm sollte wissen, seine Grenze, es hat einen Bereich von 0 bis 1. Ich hoffe, dass ich mich klar genug ausgedrückt. Danke

http://docs.python.org/library/random.html

  • Sie haben um genauer zu sein. Von 0 auf 1 kann zwischen 0 und unendlich-Werte. Was sind die Schritte?
  • Danke, aber es gibt keine Schritt. Es könnte ein beliebiger Wert zwischen 0 und 1. Ich muss nur noch eine variable hätte, die Werte zwischen 0 und 1.
  • Ja ich brauche eine zufällige Auswahl. Sollte ich das Wort random.
  • S. Lott habe ich geändert die Frage. Vielen Dank für das lassen mich wissen.
InformationsquelleAutor zingy | 2011-07-28

6 Kommentare

  1. 9

    Wenn Sie auf der Suche für eine Liste von Zufallszahlen zwischen 0 und 1, ich denke Sie kann eine gute Nutzung der random Modul

    >>> import random
    >>> [random.random() for _ in range(0, 10)]
    [0.9445162222544106, 0.17063032908425135, 0.20110591438189673,
     0.8392299590767177, 0.2841838551284578, 0.48562600723583027,
     0.15468445000916797, 0.4314435745393854, 0.11913358976315869,
     0.6793348370697525]
    • Ja das würde funktionieren.Dank
  2. 1
    def float_range(start, end, increment):
        int_start = int(start / increment)
        int_end = int(end / increment)
        for i in range(int_start, int_end):
            yield i * increment
    • Danke, aber es gibt keine bestimmten Schrittweite. Es ist nur ein zufälliger Wert zwischen 0 und 1.
  3. 0

    Wie es scheint, Liste Verstehens, wäre ziemlich nützlich hier.

      mylist = [x / n for x in range(n)]

    Sowas? Meine Python ‚ s rusty.

    • Ich denke, dass dies funktionieren wird. Danke
    • Wenn Sie möchten, eine Liste mit 0, dann ja, wird es perfekt funktionieren. Integer-division ftl!
    • Ich denke, dass in den letzten Versionen von Python, das eigentlich gut funktioniert. Sie nicht haben verwenden a // b zu bekommen integer-division? Bitte prüfen Sie auf diese, Wooble.
    • Ja, in python 3 das Ergebnis wird gezwungen, zu schweben, obwohl vorausgesetzt, die OP ist mit python 3, ohne eine [python-3.x] – tag könnte eine Strecke sein…
    • Stimmt, obwohl die integer-division Sache wäre ziemlich hier offensichtlich und leicht zu beheben ist. Außerdem ist es wirklich so eine Strecke vorstellen, die Leute verwenden die aktuelle version von Python?
    • Ich verwende die version 2.7 und ja, die Ganzzahl-division, also ist alles 0
    • Hah, geht, Sie zu zeigen. Nun, ich bin sicher, Sie können herausfinden, wie es zu lösen ist.
    • Soweit ich weiß, nur ein Anfänger schreiben von float vor der Variablen arbeiten. Ist, dass, wie es zu tun. Sorry, ich habe gerade angefangen mit python.
    • Art, außer du bekommst [0.0, 0.10000000000000001, 0.20000000000000001, 0.29999999999999999, 0.40000000000000002, 0.5, 0.59999999999999998, 0.69999999999999996, 0.80000000000000004, 0.90000000000000002] da schwimmt nicht repräsentieren einige Dezimalstellen.
    • Naja, anscheinend ist der OP will ein paar beliebige zahlen, so dass ich Wette, diese Antwort ist ok…

  4. 0
    >>> from decimal import Decimal
    >>> [Decimal(x)/10 for x in xrange(11)]
    [Decimal("0"), Decimal("0.1"), Decimal("0.2"), Decimal("0.3"), Decimal("0.4"), Decimal("0.5"), Decimal("0.6"), Decimal("0.7"), Decimal("0.8"), Decimal("0.9"), Decimal("1")]

    Bearbeiten, gegeben Kommentar über Mark Zufällige Antwort:

    Wenn Sie wirklich nicht wollen, eine reibungslos Inkrementieren Angebot, sondern eine zufällige Zahl zwischen 0 und 1, Verwendung random.random().

    • Wooble hhmm ich denke zufällig.random() funktioniert perfekt. Dank
  5. 0

    Dieser Ausgabe Dezimalzahl zwischen 0 zu 1 mit Schrittweite 0.1

    import numpy as np
    mylist = np.arange(0, 1, 0.1)
    • nützliche Funktion! aber ich denke, die op verändert, die Frage, um festzulegen, dass die Einträge werden müssen, zufällig in der Erwägung, dass arange wird eine geordnete Reihe.

Kostenlose Online-Tests