添加代码有开关重复如果不满足一个案例

2视图(30天)
流(难度等级:\ nEasy: [0, 10] \ nMedium: [0, 50] \ nHard: [0, 100] \ n”);% Print语句输出不同的困难
diff_level =输入(的选择难度:,“年代”);%的用户输入所需的困难,“s”存在由于输入字符串
numplayer =输入(”有多少球员:“);%的用户输入的玩家数量
排行榜=细胞(numplayer, 2);%商店猜测的结果
开关diff_level%切换实例分配困难范围
情况下“简单”
max_number = 10;
情况下“简单”
max_number = 10;
情况下“简单”
max_number = 10;
情况下“媒介”
max_number = 50;
情况下“媒介”
max_number = 50;
情况下“媒介”
max_number = 50;
情况下“硬”
max_number = 100;
情况下“硬”
max_number = 100;
情况下“硬”
max_number = 100;
否则
disp (“没有困难。”)
结束
球员= 1:numplayer
number_of_attempt = 1;
rng (“洗牌”)%随机数生成器的种子
number_to_guess =兰迪([0,max_number]);%创建随机#从0到最大数量设定的困难
流(“\ \ n nPlayer准备”)
player_guess =输入(“猜猜看:“);
player_guess ~ = number_to_guess% While循环运行,直到正确的#猜
如果player_guess < number_to_guess%对低猜的if语句
disp (“过低!又想:“)
结束
如果player_guess > number_to_guess% If语句高猜测
disp (“太高了!又想:“)
结束
number_of_attempt = number_of_attempt + 1;
player_guess =输入(“猜猜看:“);
结束
排行榜{球员,1}= number_of_attempt;%添加#排行榜的猜测
排行榜{球员,2}=输入(”输入玩家名称:“,“年代”);%分配的名字,人企图
结束
排行榜= sortrows(排行榜,1);%对表进行排序
位置= 0;
流(“- - - - - - - - - - - - - - - - - - - - - - - - - - - - -结果- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ n”)
球员= 1:numplayer
位置=球员;
如果玩家> 1%减少对画的位置
如果排行榜{球员,1}= =排行榜{玩家1,1}%订单打球的猜测
位置=位置- 1;
结束
结束
流(与% d % d % s的地方尝试。\ n”、位置、排行榜{球员,2},排行榜{球员,1})% print语句输出的球员
结束
情况下不是遇到代码结束的时候,一个错误。我怎么能而不是继续运行的代码,重复开关如果不能满足一个案例?

答案(3)

史蒂文的主
史蒂文的主 2022年9月21日
你可以简化 开关 所以你不必包含2 ^(字母)的情况下,每一个都有不同的组合情况。的 较低的 函数将文本转换为小写。
E =“简单”;
开关低(E)
情况下“简单”
disp (“简单的情况下选择”)
情况下“媒介”
disp (“介质情况下选择”)
否则
disp (“不匹配”)
结束
简单的情况下选择
如果我删除了 较低的 电话吗?
E =“简单”;
开关E
情况下“简单”
disp (“简单的情况下选择”)
情况下“媒介”
disp (“介质情况下选择”)
否则
disp (“不匹配”)
结束
不匹配
我可能分配 max_number 一些很容易检测到“无效”和包装你的价值 开关 电话在 循环测试如果max_number仍处于无效状态。
N =南;
isnan (N)
x =兰迪(10);% 1到10之间的随机整数
流(“生成% d。\ n”,x)
如果x > = 9
N = x;%打破循环一旦生成9或10
结束
结束
生成7。生成1。生成7。生成9。
disp (N)
9
当我使用 兰迪 生成的数据决定是否退出 循环你可以叫 输入 开关

1月
1月 2022年9月21日
编辑:1月 2022年9月21日
knownLevels = {“简单”,“媒介”,“硬”};
水平= (10、50、100);
流(“\ nChoose已知水平之一:% s \ n”strjoin (knownLevels”、“));
max_number = 0;
max_number = = 0
diff_level =输入(的选择难度:,“年代”);
匹配= strcmpi (diff_level knownLevels);
如果任何(匹配)
max_number =水平(匹配);
其他的
流(“\ nChoose已知水平之一:% s \ n”strjoin (knownLevels));
结束
结束

Eric Sofen
Eric Sofen 2022年9月21日
while循环是实现这一目标的方法。还要注意,您可以使用较低的()来减少病例数量。
max_number =南;
isnan (max_number)
流(难度等级:\ nEasy: [0, 10] \ nMedium: [0, 50] \ nHard: [0, 100] \ n”);% Print语句输出不同的困难
diff_level =输入(的选择难度:,“年代”);%的用户输入所需的困难,“s”存在由于输入字符串
numplayer =输入(”有多少球员:“);%的用户输入的玩家数量
开关低(diff_level)%切换实例分配困难范围
情况下“简单”
max_number = 10;
情况下“媒介”
max_number = 50;
情况下“硬”
max_number = 100;
否则
disp (“没有困难。请重新指定游戏参数的)
%不设置max_number
结束
结束
%……

类别

找到更多的在输入命令帮助中心文件交换

标签

s manbetx 845


释放

R2022b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!