Python periksa apakah banyak variabel kosong

Alat berikut memvisualisasikan apa yang dilakukan komputer langkah demi langkah saat menjalankan program tersebut


Contoh Solusi-2

Kode Piton

def multiple_variables_equality(*vars):
   for x in vars:
       if x != vars[0]:
           return "All variables have not same value."
   return "All variables have same value."
print(multiple_variables_equality(2,3,2,2,2,2))
print(multiple_variables_equality(10,10,10,10))
print(multiple_variables_equality(-3,-3,-3,-3))  
  

Keluaran Sampel

All variables have not same value.
All variables have same value.
All variables have same value. 
_

Flow chart

Python periksa apakah banyak variabel kosong

Visualisasikan eksekusi kode Python

Alat berikut memvisualisasikan apa yang dilakukan komputer langkah demi langkah saat menjalankan program tersebut


Editor Kode Python

 

Punya cara lain untuk menyelesaikan solusi ini?

Sebelumnya. Tulis program Python untuk menentukan bilangan bulat terbesar dan terkecil, long, float
Lanjut. Tulis program Python untuk menjumlahkan semua jumlah dalam koleksi

Berapa tingkat kesulitan latihan ini?

Mudah Sedang Keras

Uji keterampilan Pemrograman Anda dengan kuis w3resource



Ikuti kami di Facebook dan Twitter untuk pembaruan terkini.

Piton. Kiat Hari Ini

Waktu itu

perpustakaan timeit sangat bagus untuk mengatur waktu eksekusi Python. Cukup berikan fungsi dalam format string ke timeit. timeit() dan akan melakukan 1 juta eksekusi untuk melaporkan waktu minimum yang dibutuhkan kode

Sangat berguna untuk membandingkan potongan kode kecil dan fungsi yang berbeda tetapi bisa lamban dengan kode besar

Lihat contoh di bawah ini yang menunjukkan perbedaan waktu eksekusi antara 2 metode pemahaman daftar yang sangat mirip di Python

Fungsi isset() memeriksa apakah suatu variabel disetel, yang berarti harus dideklarasikan dan bukan NULL

Fungsi ini mengembalikan nilai true jika variabel ada dan bukan NULL, jika tidak maka akan mengembalikan nilai false

Catatan. Jika beberapa variabel disediakan, maka fungsi ini akan mengembalikan true hanya jika semua variabel disetel

Diberikan beberapa variabel, tugasnya adalah menulis program Python untuk memeriksa beberapa variabel terhadap suatu nilai. Ada tiga cara yang diketahui untuk mencapai ini dengan Python

Metode #1. Menggunakan atau operator

Ini cukup sederhana dan mudah. Cuplikan kode berikut mengilustrasikan metode ini

Contoh 1

Python3




# assigning variables

a= 100

b=

Value Found!
0

Value Found!
1=
Value Found!
3
Value Found!
4

 

Value Found!
5

Value Found!
6 a== b==
Value Found!
1==
Value Found!
13
Value Found!
3

Untuk menguji apakah salah satu dari banyak variabel adalah salah satu dari banyak nilai, gunakan pemahaman daftar dan fungsi

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
4

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True

Menguji Beberapa Variabel Terhadap Satu Nilai Dan Begitu pula sebaliknya

Dalam Python, jika Anda ingin melihat apakah suatu variabel adalah salah satu dari banyak kemungkinan nilai, Anda dapat menggunakan operator

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
5 seperti ini

>>> spam = 42
>>> if spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False:
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False

Python memiliki sintaks yang lebih ringkas yang menggunakan operator

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
3 dan beberapa nilai dikemas dalam sebuah tuple

>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False

Operator

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_3 benar-benar memeriksa apakah nilai dalam
>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
8 ada di tuple di sisi kanan operator
>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
3. Kode ini lebih mudah dibaca dan dalam banyak kasus keterbacaan kode lebih penting daripada kinerja. Tetapi menggunakan
>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_3 bekerja sedikit lebih cepat daripada rangkaian
>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
5 operator. Kita dapat menggunakan modul
>>> spam = 42
>>> if spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False:
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
2 bawaan Python untuk melihat berapa detik menjalankan kode ini sepuluh juta kali diperlukan

>>> timeit.timeit("spam = 42; spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False", number=10000000)
1.527424699976109

>>> timeit.timeit("spam = 42; spam in (3.1415, 'hello', 42, False)", number=10000000)
0.8834100000094622

Jika Anda memiliki kasus sebaliknya dan Anda memiliki beberapa variabel yang perlu Anda periksa dengan satu nilai, Anda dapat menukar sisi kiri dan kanan operator

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
3. Jadi alih-alih menggunakan
>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_5 operator seperti ini

>>> a, b, c = 3.1415, 'hello', 42
>>> if a == 'hello' or b == 'hello' or c == 'hello':
..   print("One of a, b, or c is equal to 'hello'.")
...
One of a, b, or c is equal to 'hello'.

Anda dapat menulis kode menggunakan operator

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_3 seperti ini

>>> if 'hello' in (a, b, c):
..   print("One of a, b, or c is equal to 'hello'.")
...
One of a, b, or c is equal to 'hello'.

Menguji Banyak Variabel Terhadap Banyak Nilai

Jika Anda memiliki beberapa variabel dan Anda ingin melihat apakah salah satu dari variabel ini cocok dengan salah satu dari beberapa nilai, Anda dapat menggunakan pemahaman daftar dan fungsi

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
4 bawaan. Mari luangkan waktu sejenak untuk mempelajari kedua konsep ini terlebih dahulu

Fungsi

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_4 mengambil daftar atau tuple (atau nilai iterable lainnya) dan mengembalikan
>>> spam = 42
>>> if spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False:
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
8 jika salah satu nilai dalam daftar itu adalah
>>> spam = 42
>>> if spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False:
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
8. Jika daftar hanya memiliki
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
_0 nilai atau kosong, ia mengembalikan
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
0

>>> any([False, False, True, False])
True
>>> any([True, True])
True
>>> any([False, False, False, False, False])
False
>>> any([])
False

Ada juga fungsi

>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
_2 bawaan yang mengembalikan
>>> spam = 42
>>> if spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False:
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
8 jika daftar hanya berisi
>>> spam = 42
>>> if spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False:
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
8 nilai, atau merupakan daftar kosong. Jika tidak,
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
_2 mengembalikan
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
0

Pemahaman daftar adalah sintaksis Python pendek untuk membuat nilai daftar berdasarkan daftar atau tupel lain (atau nilai iterable lainnya)

Biasanya Anda akan menggunakan

>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
_7 loop untuk membuat daftar baru berdasarkan nilai daftar lain. Misalnya, saya membuat daftar bernama
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
8 yang berisi bilangan bulat dalam daftar
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
9, tetapi dikalikan dengan
>>> timeit.timeit("spam = 42; spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False", number=10000000)
1.527424699976109

>>> timeit.timeit("spam = 42; spam in (3.1415, 'hello', 42, False)", number=10000000)
0.8834100000094622
0

>>> numbers = [3, 7, 15]
>>> doubles = []
>>> for number in numbers:
..   doubles.append(number * 2)
...
>>> doubles
[6, 14, 30]

Cara yang lebih ringkas untuk menulis kode ini dengan Python adalah dengan pemahaman daftar. Perhatikan kesamaan antara pemahaman daftar satu baris dan kode loop ________16______7 multi-baris

>>> numbers = [3, 7, 15]
>>> doubles = [number * 2 for number in numbers]
>>> doubles
[6, 14, 30]

Untuk memeriksa apakah salah satu dari beberapa variabel berisi salah satu dari beberapa nilai, kita dapat menggunakan pemahaman daftar dan operator

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
3 untuk membuat daftar nilai Boolean
>>> spam = 42
>>> if spam == 3.1415 or spam == 'hello' or spam == 42 or spam == False:
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
8 dan
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
0. Daftar Boolean yang dibuat oleh pemahaman daftar didasarkan pada apakah nilai variabel ada di tupel nilai

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_0

Kita dapat meneruskan daftar Boolean ini ke fungsi

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
4 dan menentukan apakah ada variabel yang cocok dengan salah satu nilai

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_1

Menempatkan kode sebanyak ini ke dalam satu baris memperluas batas keterbacaan kode, tetapi lebih ringkas daripada tidak menggunakan pemahaman daftar dan

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
4. Tanpa mereka, Anda harus menggunakan loop bersarang
>>> spam = 42
>>> if spam in (3.1415, 'hello', 42, False):
..   print("spam is either 3.1415, 'hello', 42, or False")
...
spam is either 3.1415, 'hello', 42, or False
7 dan begitu banyak baris kode yang belum tentu lebih

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_2

Itu banyak kode untuk melakukan tugas sederhana. Pemahaman daftar dan pendekatan

>>> a, b, c = 1, 42, 3
>>> any([x in (100, 3.1415, 'Hello', 42, 'cheese') for x in (a, b, c)])
True
_4 lebih ringkas dan mudah dibaca

Bagaimana Anda memeriksa apakah banyak variabel bukan Python?

def foo(). a=Tidak ada b=Tidak ada c=Tidak ada #. mengulangi file konfigurasi atau opsi baris perintah. jika a bukan Tidak ada dan b bukan Tidak ada dan c bukan Tidak ada. lakukan Sesuatu(a,b,c) lainnya. print "Parameter konfigurasi tidak ada. "

Bagaimana Anda tahu jika banyak variabel bukan nol?

Untuk memeriksa apakah banyak variabel bukan nol. .
Gunakan yang tidak sama. == operator untuk memeriksa apakah setiap variabel tidak menyimpan nilai nol
Gunakan operator logika AND (&&) untuk merangkai kondisi
Blok if hanya akan berjalan jika semua variabel tidak menyimpan nilai nol

Bagaimana Anda memeriksa nilai beberapa variabel dengan Python?

Untuk menguji banyak variabel x , y , z terhadap nilai dalam Python, gunakan nilai ekspresi dalam {x, y, z} . Memeriksa keanggotaan dalam satu set memiliki kompleksitas runtime yang konstan. Jadi, ini adalah cara paling efisien untuk menguji banyak variabel terhadap suatu nilai.

Bisakah Anda menggunakan += dengan banyak variabel?

Ya, operator += memungkinkan penambahan lebih dari satu nilai sekaligus . Apa pun di sisi kanan += akan dievaluasi, dan kemudian akan ditambahkan ke variabel yang kemudian diperbarui ke nilai baru tersebut.