Help with restricting input

45 visualizaciones (últimos 30 días)
John Furman
John Furman el 29 de En. de 2020
Comentada: Fangjun Jiang el 29 de En. de 2020
I am working on a script that asks for an input to be given between 1 and 100. I would like to have the restriction that the input is limited to between 1 and 100, and that the number must be a whole number.Here is the code:
number=input('Enter a whole number between 1 and 100:')
while number<1 || number>100
display('Not a valid number please try again')
number=input('Enter a whole number between 1 and 100:')
end
I can't figure out how to get it to set a restriction to non-whole number values. Please let me know how to specify this. I have been searching for a while and haven't found the solution.

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 29 de En. de 2020
Suprisingly, just run your specification and it works in MATLAB
number=input('Enter a whole number between 1 and 100:')
while number<1 || number>100
display('Not a valid number please try again')
number=input('Enter a whole number between 1 and 100:')
end
  2 comentarios
John Furman
John Furman el 29 de En. de 2020
I would like to restrict the input to where if you put in a decimal value, ex. 4.5, the script will display Not a valid number please try again.
Fangjun Jiang
Fangjun Jiang el 29 de En. de 2020
change to
while number<1 || number>100 || round(number)~=number

Iniciar sesión para comentar.

Más respuestas (1)

Adam
Adam el 29 de En. de 2020
validateattributes( number, { 'numeric' }, { 'scalar', '>=', 1, '<=', 100, 'integer' } )
You would have to put a message together yourself though if you don't want the error message itself returned on command line

Categorías

Más información sobre Simulink en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by