your code for the last interval didnt make sense to me so I changed it so it operates on declared objects...
but here is a general approach
do_my_interval <- function(interval){
if(interval+1<=24){
print(" Urgent Package") # Assume terrain factor is 1
FPP=250 # Assume fixed price for parcel is 250
TC=100 # per hr price for time
fuelcost=117
for(loc in 1:10){
costofparceldelivery=250/10*fuelcost+FPP+TC*15/60*2
print(paste("cost of delivery on loc",loc,"Rs",costofparceldelivery))}
return(costofparceldelivery=costofparceldelivery)
}else if(interval+1<=48){
print(" Premium Package")
FPP=250 # Assume fixed price for parcel is 250
TC=100 # per hr price for time
fuelcost=117
for(loc in 1:10){
costofparceldelivery=250/10*fuelcost+FPP+TC*15/60*1.5
print(paste("cost of delivery on loc",loc,"Rs",costofparceldelivery))}
return(costofparceldelivery=costofparceldelivery)
}else if(interval+1<=72){
print(" Economy Package")
FPP=250 # Assume fixed price for parcel is 250
TC=100 # per hr price for time
fuelcost=117
for(loc in 1:10){
Dynamicpriceofloc = 250/10*fuelcost+FPP+TC*15/60
print(paste("Dynamicpriceofloc ",Dynamicpriceofloc))}
return(Dynamicpriceofloc=Dynamicpriceofloc)
}else{
print("Enter Valid Time")
return(NA)
}
}
interval= c(24,24,48,48,72,72,72,24,24,48)
my_results <- purrr::map(interval,
do_my_interval)
my_results
This could be improved further by identifying the similarities among the intervals and further functionalising the process.