1

Тема: Некоректне? відображення print

Створив інструкції, щоб запитувати та відображати вік.
Проблема - некорректне відображення команд.
Повинно бути:
Welcome!
Age:22

Натомість виходить якась плутанина.
+ якщо написати спершу вік, потім велком - усе буде так як задумувалось

Використовую програму Учим Python https://play.google.com/store/apps/deta … &hl=ru

Прихований текст

  age = input("Age: ")


if float(age)  > 17:
    print("Welcome!")
   
    print(age)

Post's attachments

Screenshot_2016-05-03-14-10-21.jpg 109.36 kb, 278 downloads since 2016-05-03 

2

Re: Некоректне? відображення print

1) код потрібно обернути в тег "code"
2) у відгуках до програми написано - "є помилки та неточності"
3) комп'ютери виконують лише те, що їм скаже людина (засобами команд)
4) отже, чому із наведеного вами коду, повинно вийти "Welcome! Age:22"?

Спробуйте розбити програму на шматочки. Наприклад, спочатку побавтеся із:

age = input('Age: ')
print age
Подякували: Player11

3

Re: Некоректне? відображення print

Забавно! Приклад найпримітивніший, та все одно приємно,що лише дивлячись на код второпав проблему, перевірив в IDE і все правильно я думав! Тільки от питання до автора! Чому вік оголошується як дробове число,а не ціле? Типу хтось введе 22-ва роки і 4-ри місяці?

4

Re: Некоректне? відображення print

Master_Sergius
Спасибі за пораду, я побавився з кодом та отримав бажане
Ось, що в мене вийшло

Прихований текст
age = input('Age: ')

if int(age) > 17:
        print('Welcome!\n' + 'Age: ' + age)

VertoX
Ні, не обов'язково, просто на думку спершу float прийшло

5 Востаннє редагувалося reverse2500 (04.05.2016 10:22:38)

Re: Некоректне? відображення print

дивно перший приклад в пітоні 3.5.1 нормально все

F:\python\е>python age.py
Age: 33
Welcome!
33

F:\python\е>type age.py
age = input("Age: ")

if float(age)  > 17:
    print("Welcome!")

    print(age)

тут ще є особистість пітона

 if float(age)  > 17:
    print("Welcome!")

    print(age) 

Це все відноситься до if, бо йде в одну стрінчку, а якщо так написати:

age = input("Age: ")

if float(age)  > 17:
    print("Welcome!") 
    
print(age)

зверніть де написано print(age)[, це дуже важливо в пітоні, все що йде в один рядок з def, if це відноситься до одного потоку. Тут варто застосувати if else конструкцію
От робочий приклад:

age = input("Age: ")

if float(age)  > 17:
    print("Welcome!") 
else:    
    print(age)
Подякували: Player11

6

Re: Некоректне? відображення print

reverse2500
Задум був такий, що повинно виводитись саме
Welcome!
Age:22

У змінної age початкове значення = input("Age: ")     
І я думав що print(age) буде Age: (число)
та виводиться лише саме число.

Також мене збило з пантелику, що в Учим Python вивелось
Age:Welcome!
22

Чому Welcome! вивелось у тому самому рядку що і Age:?
Чому 22 вивелось у наступному рядку?
Можливо Master_Sergius мав рацію щодо неточностей у додатку.
Або ж я не до кінця розумію "хід думок" машини в пітоні.

Хоча в IDLE вивелось
Age: 22
Welcome!
22

7

Re: Некоректне? відображення print

Player1 написав:

Можливо Master_Sergius мав рацію щодо неточностей у додатку.

Егеж. Треба інший пошукати.

І ще — замініть input() на raw_input().
Ні, не так — спочатку спробуйте на input() замість 22 набрати quit(), а потім замініть :-)

8

Re: Некоректне? відображення print

І ще — замініть input() на raw_input().

Має сенс з точки зору безпеки для python 2.*, тоді як у python 3.* input() робить те ж саме, що raw_input() у другому пітоні, а raw_input() у третьому нема взагалі. Тобто, треба спершу розібратися з версією пітона.

Подякували: ReAl1

9

Re: Некоректне? відображення print

Дякую за уточнення. Там, де я «буваю» — за умовчанням другий і я третім не сильно і цікавився.