#python
#python
Вопрос:
Я на 100% новичок в программировании. Это мой первый семестр в IT, и Python имеет для меня 0% смысла. Это задание, которое мне дали:
Закодируйте эту программу как оператор while, затем создайте ее во второй раз как оператор for
Спросите пользователя, сколько раз он будет бросать 2 кубика. Имитируйте многократный бросок кубиков, генерируя 2 случайных числа от 1 до 6 Сразу после каждого броска, отображая общее количество бросков после всех бросков вычислите и отобразите: -общее количество всех бросков — среднее значение всех бросков
Используйте значимые имена переменных В комментариях к основным разделам вашего кода и любым строкам, которые не требуют пояснений
Вывод вашей программы должен выглядеть следующим образом:
Сколько раз вы будете бросать кости? 2 Вы бросили 1 и 5 Вы бросили 3 и 6 Ваша общая сумма для всех бросков равна 15, среднее значение для всех бросков равно 7,5
Это то, что у меня есть до сих пор, но я потратил часы на чтение глав нашего учебника и просмотр записей лекции, и я не могу понять остальное. Пожалуйста, помогите.
from random import randint
numRolls= int(input("How many times will you roll the dice? "))
for diceRolls in range(numRolls):
d1 = randint(1,6)
d2 = randint(1,6)
print("You rolled a", d1, "and a",d2)
print("Your total for all of the rolls is", )
print("Your average for all of the rolls is", )
Комментарии:
1. 1. Как вы вычисляете общее (= сумму) двух чисел (бросок ваших двух кубиков) и как вы его отображаете? 2. Как вы сохраняете общее количество (= сумму) всех бросков кубиков (или любое число)? 3. Как вы вычисляете среднее значение числа?
Ответ №1:
Без использования списков и дополнительной памяти:
from random import randint
numRolls = int(input("How many times will you roll the dice? "))
s = 0
for roll in range(numRolls):
d1 = randint(1, 6)
d2 = randint(1, 6)
s = d1 d2
print("You rolled a", d1, "and a", d2)
print("Your total for all of the rolls is", s)
print("Your average for all of the rolls is", s / numRolls)
Ответ №2:
Вы можете использовать список для хранения данных. Вы также можете использовать функцию sum для получения суммы всех значений в списке и использовать sum(allDiceRolls)/len(allDiceRolls)
для получения среднего
Код:
from random import randint
numRolls = int(input("How many times will you roll the dice? "))
allDiceRolls = []
for diceRolls in range(numRolls):
d1 = randint(1,6)
d2 = randint(1,6)
allDiceRolls.append(d1)
allDiceRolls.append(d2)
print("You rolled a", d1, "and a",d2)
print("Your total for all of the rolls is", sum(allDiceRolls))
print("Your average for all of the rolls is", sum(allDiceRolls)/len(allDiceRolls))
Комментарии:
1. если мой ответ вам помог, пожалуйста, установите флажок и проголосуйте
2. На самом деле вам не нужно хранить все значения в списке. Вы можете просто иметь переменную sum и добавлять d1 и d2 к сумме после каждой итерации.
3. @AdityaKurkure, правильно, но мне довелось использовать списки