Das klappt nicht:
if cond1 && cond2:
Sie verwenden and
y or
um logische Operationen wie in C, C++ durchzuführen. Wie buchstäblich and
es &&
y or
es ||
.
Angenommen, Sie wollen Logic Gates in Python erstellen:
def AND(a,b):
return (a and b) #using and operator
def OR(a,b):
return (a or b) #using or operator
Versuchen Sie jetzt, sie anzurufen:
print AND(False, False)
print OR(True, False)
False
True
Ich hoffe, das hilft!
Wahrscheinlich ist dies nicht der beste Code für diese Aufgabe, aber es funktioniert -
def front_back(a, b):
if len(a) % 2 == 0 and len(b) % 2 == 0:
print a[:(len(a)/2)] + b[:(len(b)/2)] + a[(len(a)/2):] + b[(len(b)/2):]
elif len(a) % 2 == 1 and len(b) % 2 == 0:
print a[:(len(a)/2)+1] + b[:(len(b)/2)] + a[(len(a)/2)+1:] + b[(len(b)/2):]
elif len(a) % 2 == 0 and len(b) % 2 == 1:
print a[:(len(a)/2)] + b[:(len(b)/2)+1] + a[(len(a)/2):] + b[(len(b)/2)+1:]
else :
print a[:(len(a)/2)+1] + b[:(len(b)/2)+1] + a[(len(a)/2)+1:] + b[(len(b)/2)+1:]
Verwendung von "und" im Konditional. Ich verwende dies oft beim Importieren 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
Ein einzelner &
(nicht doppelt &&
) reicht aus, oder Sie können, wie in der oberen Antwort vorgeschlagen, "und" verwenden. Ich habe auch dies in Pandas gefunden
cities['Is wide and has saint name'] = (cities['Population'] > 1000000)
& cities['City name'].apply(lambda name: name.startswith('San'))
Wenn wir das "&" durch "und" ersetzen, wird es nicht funktionieren.
Vielleicht mit & statt % ist schneller und erhält die Lesbarkeit
andere Tests gerade/ungerade
x ist gerade ? x % 2 == 0
x ist ungerade ? nicht x % 2 == 0
ist vielleicht klarer mit bitweise und 1
x ist ungerade ? x & 1
x ist gerade ? nicht x & 1 (nicht ungerade)
def front_back(a, b):
# +++your code here+++
if not len(a) & 1 and not len(b) & 1:
return a[:(len(a)/2)] + b[:(len(b)/2)] + a[(len(a)/2):] + b[(len(b)/2):]
else:
#todo! Not yet done. :P
return
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.