def common(num):
#returns true if num is divisible by all the 'i' integers
if all(num%divisor==0 for divisor in (1,10)):
return True
else:
return False
print(common(2520)) --> True
print(common(10)) --> True
print(common(17)) --> False
Hallo all, diese Funktion soll zeigen, ob 'num' ein gemeinsames Vielfaches aller 'i' Zahlen ist. Ich kann nicht herausfinden, warum 10 True zurückgibt? Bedeutet "all()" nicht, dass jeder Test wahr sein muss, damit das Ganze wahr ist? Verwende ich es falsch? Irgendwelche besseren Funktionen, die ich verwenden sollte? Danke für alle Einsichten.Mehrere boolesche Tests in IF-Anweisung mit 'all()' Funktion
-WT
Die einzigen Werte gebunden 'divisor' sind 1 und 10 nur diejenigen, zwei. Es ist unklar, was Sie vorhaben zu tun. Vielleicht wollten Sie z. B. 'Bereich (1, 10)'? Kann nicht erraten. –
Oder vielleicht 'Bereich (1, 11)' – chapelo
Nur FYI, wenn Sie sich tun, wenn Bedingung: zurück True; else: return False ', du kannst tatsächlich nur' return condition' machen. (In einigen Situationen konvertiert Python Dinge in boolesche Werte für eine 'if' Anweisung. Wenn Sie also superfleißig sein wollen, geben Sie' bool (condition) 'zurück.) – detly