Ich muss eine Funktion schreiben Faktor, die einen ganzzahligen Parameter n nimmt, und gibt die kleinste Zahl von 2 bis n-1, die n teilt. Wenn keine solche Nummer existiert, wird -1 zurückgegeben.Refining-Faktoren in Python
Ich war in der Lage, die Funktion zu erstellen, um die Faktoren zu finden, bin aber unsicher, wie man es verfeinert, um das korrekte Ergebnis zurückzugeben.
def factors(n):
i = n
lst=[]
while i > 0:
if n % i == 0:
lst.append(i)
i -= 1
print(lst)
result=[i for i in lst if i > 2 and i < n-1]
print(result[1])
def main():
n=int(input("Enter n:"))
factors(n)
main()
Sie nichts zurück haben in Ihren 'Faktoren (n)' – haifzhan
Willkommen bei Stackoverflow. Bitte lesen und befolgen Sie die Buchungsrichtlinien in der Hilfe. [Minimales, vollständiges, überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) gilt hier. Wir können Ihnen nicht effektiv helfen, bis Sie Ihren MCVE-Code veröffentlicht und das Problem genau beschrieben haben. Was macht Ihr Programm gerade und wo scheitert es? – Prune