2016-03-26 20 views
0

Ich schreibe eine einfache faktorielle Funktion in Python, um die Fakultät von n kennen. So wie wir n gegeben haben und es zeigt die Fakultät von n. Aber das Problem ist, verwende ich raw_input-Funktion, um den Wert von n zu erhalten. Aber damit kann ich nicht arbeiten. Was kann ich mit raw_input tun?Eingabe von der Tastatur in Python

+1

Fügen Sie den Code in int werfen, so dass die Menschen klar Ihr Problem verstehen können .. – ravigadila

+0

Können Sie meine Antwort akzeptieren, wenn Sie es richtig finden ?! Ich schlug auch das vor, was @XYZ Programmer vorgeschlagen hatte, und ich antwortete vor ihm. –

Antwort

0

Sie müssen die Standard-String-Typ

val = raw_input() #val accepts a string 

val = int(raw_input()) #val takes integer input 
+0

Genau das habe ich geantwortet. –

+0

Sie hätten zumindest ein Beispiel bereitstellen können, das Ihre Antwort unterstützt und nicht die Abstimmung nach unten. – XZ6H

1

Ihre faktorielle Funktion nimmt wahrscheinlich eine ganze Zahl als Eingabe.

Allerdings gibt raw_input eine Zeichenfolge zurück.

Sie müssen also entweder die zurückgegebene Zeichenfolge in eine Ganzzahl konvertieren. Mit int().

Oder Sie können direkt input() verwenden, die eine ganze Zahl in Python2 zurückgibt.

+0

'input()' gibt eine Zeichenfolge in Python 3 zurück, so dass die letzte Zeile keinen Sinn ergibt (plus die Verwendung von 'input()' in Python 2 ist eine wirklich schlechte Idee) –

+0

Mein Problem, ich werde es bearbeiten. Aber warum ist die Verwendung von input() in python2 eine wirklich schlechte Idee? –

+1

da Eingabe wird alles auswerten, was der Benutzer als Python-Zeile eingibt. Wenn sie zum Beispiel exit() beenden, schließt das Programm einfach so. – Dleep

Verwandte Themen