给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:
answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。
answer[i] == "Fizz" 如果 i 是 3 的倍数。
answer[i] == "Buzz" 如果 i 是 5 的倍数。
answer[i] == i (以字符串形式)如果上述条件全不满足
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/fizz-buzz
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
很简单就不做过多解释了
n = int(150)
st = [0]*n
for i in range(1,n,1):
if i%3 == 0 and i%5 == 0:
st[i-1] = "懒羊羊"
elif i%5 == 0:
st[i-1] = "羊"
elif i%3 == 0:
st[i-1] = "懒"
else:
st[i-1] = i
print("打印列表能被3整除的为懒,能被5整除的为羊,能同时被3和5整除的为懒羊羊,其余保持不变:\n",st)
参考:
MATLAB版的(同学要的)
clc;clear all;
n = input('请输入一个数字: ','s');
n = str2double(n); % 将字符转成数字
if not(isnan(n))
st = cell(1,n);
fileID = fopen([pwd,'\懒羊羊.txt'],'a+');
for i = 1:1:n
if and(rem(i,3) == 0, rem(i,5) == 0)
st{1,i} = '懒羊羊';
elseif rem(i,5) == 0
st{1,i} = '羊';
elseif rem(i,3) == 0
st{1,i} = '懒';
else
st{1,i} = int2str(i);
end
fprintf(fileID,'%s',[st{i},',']);
end
fclose(fileID);
else
disp('你输入的数字有误,请重新运行程序')
end