Я очень плохо знаком с программированием в Swift, и сейчас я пытаюсь написать программу, которая просто берет бюджет и несколько ресторанов, а затем пытается определить, что вы будете есть, исходя из оставшейся суммы бюджета. Кажется, у меня есть код, который должен работать, но по какой-то причине всякий раз, когда он входит во время l oop после определенного числа итераций, он не может распознать, когда totalPrice больше не превышает бюджет. Если я поставлю условие if в конце того времени, пока l oop проверяет, больше ли totalPrice, чем бюджет, оно поймет, что это не так, и затем выполнит все, что я положил в фигурные скобки, но затем не выйдет, пока l oop. Я действительно смущен тем, что происходит не так, и был бы очень признателен за помощь в понимании того, что не так с моим кодом. Большое спасибо за помощь!
import UIKit
var prices = [30,10.99,10.5,11.7,13.99,7.99,8.99,0]
var tips = [0.20,0.18,0.18,0.18,0.18,0.15,0.15,0.0]
var restaurants = ["Salty Snow","Kerby Lane","Milto's","Trudy's","Madam Mam's","Vert's","Teji's","Home"]
var daysOfWeek = ["Sunday", "Monday", "Tuesday","Wednesday", "Thursday", "Friday", "Saturday"]
let taxRate = 0.0825
var budget = 50.0
for i in 1...14{
print("Week \(i)")
for day in daysOfWeek {
var randInt = Int.random(in:0..<8)
var totalPrice = prices[randInt]+(prices[randInt]*taxRate)+(prices[randInt]*tips[randInt])
while totalPrice > budget {
var randInt = Int.random(in:0..<8)
var totalPrice = prices[randInt]+(prices[randInt]*taxRate)+(prices[randInt]*tips[randInt])
}
print(totalPrice, randInt, budget)
var place = restaurants[randInt]
budget = budget - totalPrice
print("\(day) meal: \(place), budget now \(budget)")
}
print()
budget += 50
}