Cara Lelaran melalui Julat Bukan Integer
Apabila cuba mencipta julat dengan nilai langkah perpuluhan menggunakan julat(), anda mungkin menghadapi ralat yang menyatakan bahawa argumen langkah tidak boleh menjadi sifar. Ini timbul kerana julat() menjangkakan nilai integer untuk parameter mula, henti dan langkah.
Penyelesaian Menggunakan linspace NumPy
Untuk memintas isu ini dan mencipta julat dengan nilai langkah bukan integer, pertimbangkan untuk menggunakan fungsi linspace NumPy. linspace mengambil bilangan mata untuk dikembalikan dan membolehkan anda menentukan sama ada untuk memasukkan titik akhir yang betul atau tidak. Contohnya:
import numpy as np # Create a range from 0 to 1 with 11 equally spaced points (including 1) points = np.linspace(0, 1, 11) # Create a range from 0 to 1 with 10 equally spaced points (excluding 1) points_excl = np.linspace(0, 1, 10, endpoint=False)
Penyelesaian Menggunakan arange NumPy
Semasa menggunakan nilai langkah titik terapung secara amnya tidak disyorkan kerana kemungkinan ralat pembundaran, NumPy menyediakan arange fungsi yang direka khusus untuk tujuan ini. Walau bagaimanapun, maklum bahawa ralat pembundaran masih boleh timbul:
import numpy as np # Create a range from 0.0 to 1.0 with a step value of 0.1 points = np.arange(0.0, 1.0, 0.1) # Example of a potential rounding error using arange points = np.arange(1, 1.3, 0.1) # Expected length: 3, Actual length: 4
Atas ialah kandungan terperinci Bagaimana untuk Mencipta Julat dengan Langkah Bukan Integer dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!