🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
你的生日到了!恭喜你!和所有人一样,你遵循学校传统,带糖果来分给同学。你走进教室,开始给坐在课桌前的每个人分发糖果。
编写一个程序来帮助你模拟这个过程。程序应询问你带了多少颗糖果以及你有多少位同学。然后,程序应为每位同学显示他是否得到了糖果。如果糖果发完了,那么接下来的同学,唉,就没有零食了。最后,程序应告知你还剩下多少颗糖果(如果有剩余的话)。
第二行:同学人数(整数)。
几行文本(行),描述每位同学是否收到了糖果。
最后一行(行),说明剩余了多少糖果。
5
7
同学1收到了一颗糖果。
同学2收到了一颗糖果。
同学3收到了一颗糖果。
同学4收到了一颗糖果。
同学5收到了一颗糖果。
同学6没有收到糖果。
for and range()The for loop is one of the most powerful and frequently used tools in Python. It allows you to repeat (or, as programmers say, iterate) a certain block of code a set number of times. His main idea is to sequentially iterate over elements from a collection (for example, a list of numbers, characters in a string, etc.) and perform the same action for each element.
The basic syntax looks like this:
for element in sequence:
# a block of code that will be repeated
Here, the sequence can be not only numbers, but also, for example, a list of strings or just a string.
# Example of iterating through a list
for fruit in ["apple", "banana", "cherry"]:
print(fruit)
# Example of line iteration
for letter in "Python":
print(letter)
range()We often need to execute the code a certain number of times. The range() function is ideal for this, which creates a sequence of numbers. For example, range(5) creates a sequence from 0 to 4 (i.e. 0, 1, 2, 3, 4).
Combining for and range(), we get a classic construction for repetitions.:
for i in range(number):
# code block
Let's analyze this construction:
for is the keyword that tells Python that we are starting a cycle.i is a counter variable. At each step of the cycle, it will take the next value from the sequence. A useful tip: the variable name can be anything (i, j, k - these are generally accepted conventions for simple counters), but if you are going over something specific, it is better to give a meaningful name. for example for student in students:.in is the keyword that binds the counter variable and the sequence.range(number) calling a function that creates a sequence of integers from 0 to number - 1. It is important to remember that the upper bound is not included.for i in range(5):
print(i)
# output: 0
# output: 1
# output: 2
# output: 3
# output: 4
range(5) creates an invisible sequence for us: 0, 1, 2, 3, 4.for loop assigns each of these values to the i variable in turn.print(i) prints the current value of i at each step.for i in range(5):
print("Hello world!")
# output: Hello world!
# conclusion: Hello, world!
# conclusion: Hello, world!
# conclusion: Hello, world!
# conclusion: Hello, world!
range(5) creates the sequence again 0, 1, 2, 3, 4.for loop goes through each of these numbers, but in this case we don't use the value of the i variable inside the loop. We just use the loop as a counter to run print("Hello, world!") exactly 5 times.amount = 0 # 1. Creating a "piggy bank" for the amount
for i in range(5):
#2. At each step, we add the current number to the piggy bank
sum += i
print(sum) # 3. We show what has accumulated in the end
# output: 10
amount = 0 initialize the variable amount. This is a critical step.range(5) creates a sequence 0, 1, 2, 3, 4.for loop runs through each number. In the first step, the sum becomes 0 + 0 = 0. On the second one, 0 + 1 = 1. On the third one, 1 + 2 = 3. On the fourth floor, 3 + 3 = 6. On the fifth - 6 + 4 = 10.sum +=i is a shortened and more "pythonic" notation for sum = sum + i. It increases the value of sum by the current value of i.print(amount) outputs the total amount after the cycle is completely completed.range(): parameters start, stop, stepThe range() function can take up to three parameters: start (start), stop (end) and step (step).
range(stop): creates a sequence from 0 to stop - 1.range(start, stop): creates a sequence from start to stop - 1.range(start, stop, step): creates a sequence from start to stop - 1 in step increments.A useful tip: The step may be negative. This allows you to generate sequences in reverse order. In this case, the start value should be greater than stop.
range(5) -> 0, 1, 2, 3, 4range(2, 6) -> 2, 3, 4, 5range(1, 10, 2) -> 1, 3, 5, 7, 9range(5, 0, -1) -> 5, 4, 3, 2, 1An increment is simply an increase in the value of a variable, usually by 1. A decrement is a decrease in the value of a variable, usually by 1.
Some programming languages have special operators ++ and --, but Python does not have them. Instead, more explicit and flexible assignment operators with the operation are used.
+=We can easily increase the value of a variable using +=.
number = 5
# Increasing the value of the variable by 1
number += 1
print(number) # will output 6
the number = 5 sets the initial value.number += 1 is an elegant shorthand for number = number + 1. She says, "take the current value of the number, add 1 to it, and write the result back to the number."-=Similar to increment, the -= operator is used for decrement.
number = 5
# Reducing the value of a variable by 1
number -= 1
print(number) # will output 4
the number = 5 sets the initial value.number -= 1 is an abbreviation for number = number - 1.This principle works with all basic mathematical operations in Python. Instead of the number on the right, there may be another variable (a +=b).
a = 10
a += 5 # Equivalent to a = a + 5 (a will become 15)
a -= 3 # Equivalent to a = a - 3 (a will become 12)
a *= 2 # Equivalent to a = a * 2 (a will become 24)
a /= 4 # Is equivalent to a = a / 4 (a will become 6.0)
a %= 5 # Is equivalent to a = a %5 (a will become 1.0, the remainder of dividing 6 by 5)
a //= 3 # Is equivalent to a = a // 3 (a will become 0.0, integer division of 1 by 3)
for loop is designed to iterate through elements in any sequence (lists, strings, range, etc.).range() function is your main tool for creating sequences of numbers for loops. Remember that it does not include an upper bound!+=) and decrement (-=) are the standard and preferred way to change numeric variables in Python.for book in books:), it makes the code much more readable.# Запрашиваем у пользователя начальное количество конфет.
# Функция input() читает строку, а int() превращает её в целое число.
candies = int(input())
# Запрашиваем у пользователя количество одноклассников.
classmates = int(input())
# Создаем цикл for, который будет повторяться столько раз, сколько у нас одноклассников.
# range(1, classmates + 1) создает последовательность чисел от 1 до количества одноклассников включительно.
# Переменная i будет по очереди принимать значения 1, 2, 3 и т.д.
for i in range(1, classmates + 1):
# Ставим условие: проверяем, есть ли у нас еще конфеты (больше нуля).
if candies > 0:
# Если конфеты есть, выводим сообщение, что одноклассник получил конфету.
print("Одноклассник", i, "получил конфету.")
# Уменьшаем количество наших конфет на одну.
candies = candies - 1
# Если условие if не выполнилось (конфет 0 или меньше), выполняется блок else.
else:
# Выводим сообщение, что этому однокласснику конфета не досталась.
print("Однокласснику", i, "конфеты не досталось.")
# После того как цикл завершился, выводим итоговое количество оставшихся конфет.
print("Осталось конфет:", candies)
🎉 恭喜! 🎉
你出色地完成了任务!这是一个不小的挑战,但你找到了正确答案。你离编程大师又近了一步!继续保持,每一步都让你更强大。
AD
广告
正在运行代码...