L'equivalente di Python di && (logical-and) in un'istruzione if


Answers

Python usa and e / or condizionali.

vale a dire

if foo == 'abc' and bar == 'bac' or zoo == '123':
  # do something
Question

Ecco il mio codice:

# F. front_back
# Consider dividing a string into two halves.
# If the length is even, the front and back halves are the same length.
# If the length is odd, we'll say that the extra char goes in the front half.
# e.g. 'abcde', the front half is 'abc', the back half 'de'.
# Given 2 strings, a and b, return a string of the form
#  a-front + b-front + a-back + b-back
def front_back(a, b):
  # +++your code here+++
  if len(a) % 2 == 0 && len(b) % 2 == 0:
    return a[:(len(a)/2)] + b[:(len(b)/2)] + a[(len(a)/2):] + b[(len(b)/2):] 
  else:
    #todo! Not yet done. :P
  return

Sto ottenendo un errore nel condizionale IF. Che cosa sto facendo di sbagliato?




Si utilizzano and e or per eseguire operazioni logiche come in C, C ++. Come letteralmente and è && e or è || .

Dai un'occhiata a questo divertente esempio,

Supponiamo che tu voglia costruire Logic Gates in Python:

def AND(a,b):
    return (a and b) #using and operator

def OR(a,b):
    return (a or b)  #using or operator

Ora prova a chiamarli:

print AND(False, False)
print OR(True, False)

Questo produrrà:

False
True

Spero che questo ti aiuti!




Uso di "e" in condizionale. Lo uso spesso durante l'importazione in Jupyter Notebook:

def find_local_py_scripts():
    import os # does not cost if already imported
    for entry in os.scandir('.'):
        # find files ending with .py
        if entry.is_file() and entry.name.endswith(".py") :
            print("- ", entry.name)
find_local_py_scripts()

-  googlenet_custom_layers.py
-  GoogLeNet_Inception_v1.py



Sono andato con una soluzione puramente matematica:

def front_back(a, b):
  return a[:(len(a)+1)//2]+b[:(len(b)+1)//2]+a[(len(a)+1)//2:]+b[(len(b)+1)//2:]