from a python code to matlab code

1 vue (au cours des 30 derniers jours)
Michael Angeles
Michael Angeles le 30 Déc 2021
Commenté : Michael Angeles le 31 Déc 2021
how can I convert the following code to matlab code?
cuts_under_30 = [hairstyles[i] for i in range(len(hairstyles)) if new_prices[i] < 30]
print("Cuts under 30: " "{}".format(cuts_under_30))

Réponse acceptée

Image Analyst
Image Analyst le 31 Déc 2021
Try this:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
%workspace; % Make sure the workspace panel is showing.
format short g;
format compact;
fontSize = 20;
hairstyles = {'bouffant', 'pixie', 'dreadlocks', 'crew', 'bowl', 'bob', 'mohawk', 'flattop'};
prices = [30, 25, 40, 20, 20, 35, 50, 35];
last_week = [2, 3, 5, 8, 4, 4, 6, 2];
%my code
total_price = 0;
for price = 1:length(prices)
total_price = total_price + prices(price);
end
disp(total_price);
255
average_price = total_price/numel(prices);
fprintf('Average Hair Cut Price is: %.3f\n', average_price);
Average Hair Cut Price is: 31.875
%problem #5
new_prices = prices()-5;
disp(new_prices);
25 20 35 15 15 30 45 30
%fprintf('The new prices are: %.2f\n', new_prices);
%Revenue
total_revenue = 0;
total_revenue = sum(prices.*last_week);
fprintf('Total Revenue is: %.f\n', total_revenue);
Total Revenue is: 1085
%average revenue
average_revenue = total_revenue/7;
fprintf('The average revenue is: %.f\n', average_revenue)
The average revenue is: 155
% cuts_under_30 = [hairstyles[i] for i in range(len(hairstyles)) if new_prices[i] < 30]
indexes = new_prices < 30;
cuts_under_30 = hairstyles(indexes)
cuts_under_30 = 1×4 cell array {'bouffant'} {'pixie'} {'crew'} {'bowl'}
prices_under_30 = new_prices(indexes)
prices_under_30 = 1×4
25 20 15 15
fprintf('Cuts under 30 :\n')
Cuts under 30 :
for k = 1 : length(prices_under_30)
fprintf('%s costs $%.2f\n', cuts_under_30{k}, prices_under_30(k));
end
bouffant costs $25.00 pixie costs $20.00 crew costs $15.00 bowl costs $15.00
fprintf('\n')
  1 commentaire
Michael Angeles
Michael Angeles le 31 Déc 2021
Thank you so much...was trying to figure that out for a while...

Connectez-vous pour commenter.

Plus de réponses (2)

Chunru
Chunru le 31 Déc 2021
% cuts_under_30 = [hairstyles[i] for i in range(len(hairstyles)) if new_prices[i] < 30]
cuts_under_30 = hairstyles(new_prices < 30);
  3 commentaires
Chunru
Chunru le 31 Déc 2021
Or simply remove the semicolon at the end of the statement.
Michael Angeles
Michael Angeles le 31 Déc 2021
Modifié(e) : Image Analyst le 31 Déc 2021
It didn't work....Here is the whole code I am working on from Python...
hairstyles = ["bouffant", "pixie", "dreadlocks", "crew", "bowl", "bob", "mohawk", "flattop"];
prices = [30, 25, 40, 20, 20, 35, 50, 35];
last_week = [2, 3, 5, 8, 4, 4, 6, 2];
%my code
total_price = 0;
for price = 1:length(prices)
total_price = total_price + prices(price);
end
disp(total_price);
average_price = total_price/numel(prices);
fprintf("Average Hair Cut Price is: %.3f\n", average_price);
%problem #5
new_prices = prices()-5;
disp(new_prices);
%fprintf("The new prices are: %.2f\n", new_prices);
%Revenue
total_revenue = 0;
total_revenue = sum(prices.*last_week);
fprintf("Total Revenue is: %.f\n", total_revenue);
%average revenue
average_revenue = total_revenue/7;
fprintf("The average revenue is: %.f\n", average_revenue)
%cuts under 30
%cuts_under_30 = ;
% for cuts_under_30 = 1:numel(hairstyles)
% i = hairstyles(cuts_under_30);
% if new_prices < 30
% end
% disp(cuts_under_30)
fprintf("Cuts under 30 :\n")
fprintf('%.2f ', cuts_under_30);
fprintf('\n')

Connectez-vous pour commenter.


Chunru
Chunru le 31 Déc 2021
Modifié(e) : Chunru le 31 Déc 2021
hairstyles = ["bouffant", "pixie", "dreadlocks", "crew", "bowl", "bob", "mohawk", "flattop"];
prices = [30, 25, 40, 20, 20, 35, 50, 35];
last_week = [2, 3, 5, 8, 4, 4, 6, 2];
total_price = sum(prices)
total_price = 255
average_price = mean(prices)
average_price = 31.8750
new_prices = prices()-5;
total_revenue = sum(prices.*last_week)
total_revenue = 1085
average_revenue = total_revenue/7
average_revenue = 155
cuts_under_30 = last_week(new_prices < 30) % the number of haircuts under $30
cuts_under_30 = 1×4
2 3 8 4
hairstyles (new_prices < 30) % the styles of haircuts under $30
ans = 1×4 string array
"bouffant" "pixie" "crew" "bowl"
new_prices(new_prices < 30)
ans = 1×4
25 20 15 15

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by