random letter bother upper & lower case
조회 수: 3 (최근 30일)
이전 댓글 표시
How do I create a random letter both upper or lower case?
I know how do to do it for a number
number = randi([1,50])
% gives me a random number in the range of 1 to 50
Can I use something similer to create a random single upper or lower case letter? My code below is fine, but I have the input function which allows me to maunally pick a letter.
But I dont want to manually pick a letter, how do I get a random upper or lower letter without manually picking one?
clc, clear all, close all
letter = input('Enter a letter: ', 's');
if letter == 'x'
disp('Hellp')
elseif letter == 'y' || letter == 'Y'
disp('Yes')
elseif letter == 'Q'
disp('Quit')
else
disp('Error')
end
댓글 수: 0
채택된 답변
millercommamatt
2021년 6월 24일
This is a fun puzzle. Upper-case letters run of 65-90 in an ASCII table and lower-case runs from 97 to 122. You can use char to convert from the number to the equivalent ascii character.
randomletter = char(randi([65,95]) + randi([0,1]).*32);
댓글 수: 0
추가 답변 (1개)
Steven Lord
2021년 6월 24일
uppercase = 'A':'Z';
lowercase = 'a':'z';
letters = [uppercase lowercase];
whichLetters = randi(numel(letters), 1, 10)
randomLetters = letters(whichLetters)
Elements in whichLetters that are less than or equal to numel(uppercase) are drawn from the uppercase variable and those that are greater are drawn from lowercase. Alternately you could treat letters like a "deck of cards" and shuffle it. This would let you draw letters without replacement. randomLetters as created above could have duplicates.
shuffledOrder = randperm(numel(letters));
shuffledLetters = letters(shuffledOrder)
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!