автор kmiha Пн 25 Ноя 2019 - 17:16
И в первом же задании меня ждало разочарование в коде от автора ... Которое упорно не работало, по условию задачи надо было написать программу угадай число примерно такого вида:
Привет! Как тебя зовут?
Михаил
Что ж, Михаил, я загадываю число от 1 до 20.
Попробуй угадать.
10
Твое число слишком большое.
Попробуй угадать.
2
Твое число слишком маленькое.
Попробуй угадать.
4
Отлично, Михаил! Ты справился за 3 попытки!
и приводился код от автора, который упорно не хотел работать и выдавал ошибку.
- Код:
1. # Это игра по угадыванию чисел.
2. import random
3.
4. guessesTaken = 0
5.
6. print('Привет! Как тебя зовут?')
7. myName = input()
8.
9. number = random.randint(1, 20)
10. print('Что ж, ' + myName + ', я загадываю число от 1 до 20.')
11.
12. for guessesTaken in range(6):
13. print('Попробуй угадать.') # Четыре пробела перед именем функции print
14. guess = input()
15. guess = int(guess)
16.
17. if guess < number:
18. print('Твое число слишком маленькое.') # Восемь пробелов перед именем функции print
19.
20. if guess > number:
21. print('Твое число слишком большое.')
22.
23. if guess == number:
24. break
25.
26. if guess == number:
27. guessesTaken = str(guessesTaken + 1)
28. print('Отлично, ' + myName + '! Ты справился за ' + guessesTaken + ' попытки!')
29.
30. if guess != number:
31. number = str(number)
32. print('Увы. Я загадала число ' + number + '.')
Этот код у меня ну напрочь не работал и выдавал ошибку ... Почему ... хз я в общем, после танцев с бубнами и потерей части своего времени, решил написать свой. Который по функционалу никак не отличается, да и короче выглядит:
- Код:
#Угадай число
import random
print('Привет! Как тебя зовут?')
myName=input()
print('Что ж, ',myName,', я загадываю число от 1 до 20.')
print('Попробуй угадай, у тебя всего лишь 6 попыток')
x=random.randint(1,20)
for y in range(6):
chislo=int(input('Попробой угадай. Введи своё число: '))
if chislo>x:
print('Твоё число слишком большое')
if chislo<x:
print('Твоё число слишком маленькое')
if chislo==x:
print('Отлично, ',myName,'! Ты справился за ',y+1,'попытки')
break
if chislo !=x:
print('Увы. Ты не справился !, загаданное число было: ',x)
Чуток дополнил до полного понимания, которого не было у автора, к примеру на указание, что попыток всего 6. В принципе ничего сложного, импорт модуля random(загадывает случайное число в определённом диапазоне), print - выводит сообщение, input - вводишь имя. Сразу стоит преобразование в int (целое число), а потом только логика. Если использовал все попытки, выводится финальное сообщение, если справился, финальное сообщение выводится, то, которое в перечислении (for)