Как суммировать три случайных числа в python?

#python

#python

Вопрос:

Я пытаюсь создать простой ввод. Задача состоит в том, чтобы пользователь угадал сумму трех случайных чисел

Я пытался

 guessr1 = input("Guess a number:")
answer1= print(random.randrange(1, 5))

guessr2 = input("Guess a number:")
answer2 = print(random.randrange(1, 5))

guessr3 = input("Guess a number:")
answer3 = print(random.randrange(1, 5))

final_sum_guess = answer1   asnwer2   answer3

  
  • Я не знаю всех функций python
  • Я знаю только: переменные, ввод (), печать (), подсчет(), замена (), и, или, если, elif, не, в, isinstance, если еще, конкатенация , f»{var}»
  • Я ищу ответ в пределах своих знаний в python

Комментарии:

1. Почему у пользователя есть входные данные, если ему просто нужно найти сумму, почему ему нужно указывать отдельные значения?

2. Ввод был просто для пояснения процесса, который я использовал. Но тогда я мог бы просто использовать guessr2 = print(random.randrange(1, 5))? Если да, то как я суммирую догадки и печатаю их?

3. Это очень непонятно, что вы пытаетесь сделать, не так ли: выберите 3 случайных числа, суммируйте их, затем пользователь должен угадать сумму? Потому что, если да, это на 100% то же самое, что угадать одно случайное число, просто диапазон возможностей ОС, если в 3 раза больше

4. Да, азро, это было бы 1- угадайте числа 2- теперь вы знаете числа, которые вы угадали 3- затем вы суммируете числа, которые вы угадали #### и диапазон от 1 до 5

Ответ №1:

Я хочу отметить, что возврат инструкции print равен None . Это означает, что после этой строки answer1= print(random.randrange(1, 5)) type(answer1) NoneType . Вы не можете суммировать NoneType .

Это может сработать.

 import random

guessr1 = input("Guess a number:")
answer1= random.randrange(1, 5)
print(answer1)

guessr2 = input("Guess a number:")
answer2 = random.randrange(1, 5)
print(answer2)

guessr3 = input("Guess a number:")
answer3 = random.randrange(1, 5)
print(answer3)

final_sum_guess = answer1   answer2   answer3
print(final_sum_guess )
  

Комментарии:

1. Хороший улов! 1. Кроме того, в Python 3.8 и далее можно использовать выражение присваивания для присваивания и печати в одном и том же операторе: print(answer1:=random.randrange(1, 5)) сохранит результат random.randrange(1, 5) in answer1 , а также напечатает этот результат.

2. Спасибо, что поделились с нами информацией. У меня вопрос. : Правильно ли это? Кажется, это необычный синтаксис?

3. Спасибо, mosc9575, за ответ. Ценю это. Но конкатенация применяется только к строкам, и если мы объединим, это даст нам строку, а не целое число. Я прав? или функция печати в этом случае не изменяет тип информации?

4. Вы хотите напечатать строку? Затем вы можете привести каждый ответ в виде строки с str(answer1) ' ' str(answer1) ' ' str(answer2) ' ' str(answer2) помощью .

5. @mosc9575 Да, выражение := называется «оператор моржа». Примеры здесь .

Ответ №2:

Может быть, вы можете просто использовать:

 print(final_sum_guess)
  

или, может быть, так:

 print(f'Th answer is {final_sum_guess}')