2017-03-18 4 views
0

Ich versuche, ein Programm zu schreiben, das den Benutzer nach einer Ganzzahl fragt und die faktorielle Ganzzahl berechnet, und das Programm wird enden, wenn der Benutzer eine negative Zahl gibt. Ich ein in währendEingabe in R, um Fakultät einer Zahl zu berechnen

Fehler erhalten (x> = 0) {: fehlender Wert in die WAHR/FALSCH

benötigt und manchmal

Fehler in x + 1: non- numerisches Argument zu Binäroperators

Mein Code:

x <-readline(prompt="Enter an integer: ") 
x <- as.integer(x) 
while(x >= 0) 
{ 
    y <- factorial(x) 
    y 
    x <-readline(prompt="Enter an integer: ") 
    x <- as.integer(x) 
} 
+1

Nicht mein Downvote. Werfen Sie einen Blick auf [Diese frühere Veröffentlichung] (http://stackoverflow.com/questions/39245442/wait-for-user-input-from-keyboard-in-r-before-next-line-of-code-readline- zuerst) – G5W

Antwort

1

Ihr Code wird funktionieren, wenn Sie alles in eine Funktion setzen. Ich habe Ihren Code verbessert und eine Funktion myfun erstellt.

myfun <- function() 
{ 
    z <- TRUE 
    while(z) 
    { 
    x <- readline(prompt="Enter an integer: ") 
    if (x < 1) { 
     z <- FALSE 
    } else { 
     y <- factorial(as.numeric(x)) 
     print(y) 
    } 
    } 
} 

myfun() 
# Enter an integer: 1 
# [1] 1 
# Enter an integer: 5 
# [1] 120 
# Enter an integer: -1 
# > 
Verwandte Themen