8 / 57 / 21
Регистрация: 12.03.2017
Сообщений: 514
1

Функция, читающая имя пользователя

07.12.2017, 20:45. Показов 35904. Ответов 12
Метки нет (Все метки)

Напишите функцию whoAreYouAndHello(), которая читает имя пользователя из стандартного ввода, пока он не введет его в правильном формате, а затем здоровается. Приветствие должно быть в форме: “Привет, {имя}!”. После вывода надо не забыть перевести курсор на новую строку.

Если пользователь ввёл имя в неправильной форме, функция должна считать его снова. Корректным считается имя, состоящее из одного слова, в котором нет символов кроме букв, первая буква заглавная, остальные - строчные.

Всё, что говорит пользователь после того, как он сообщил верное имя, программа должна игнорировать

Обратите внимание: в вашей программе должна быть функция whoAreYouAndHello, но она не должна вызываться. Следите за тем, чтобы имя функции было написано верно.

Формат ввода
Петр Алексеевич
Петр алексеевич
Пет_я
Петр_1
ПЕТР
ПетР
ПеТр
Пе-тя
Пётр
Формат вывода
Привет, Пётр!

Вот прогромма но вне допущена ошибка!
Python
1
2
3
4
5
6
7
8
9
10
11
12
def whoAreYouAndHello():
    y = True
    x = input()
    while y != False:
        if x.upper():
            x = input()
        if x.isalpha() and x.upper() and x.lower():
            y = False
        else:
            x = input()
    print('Привет, ', x, '!', sep='')
whoAreYouAndHello()
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2017, 20:45
Ответы с готовыми решениями:

Имя пользователя
Во многих интернет-сервисах при регистрации нужно указывать желаемое имя пользователя, причём в...

Функция не возвращает имя пользователя
Всем доброго времени суток! Скажите пожалуйста, что не так? Не выводится имя пользователя когда...

Есть ли функция, читающая файл целиком и записывающая его в одну строку?
Подскажите есть ли функция читающая файл целиком и записывающая его в одну стрингу и чтобы все...

Функция, которая возвращает имя пользователя, который вызвал UPDATE/DELETE/INSERT
Не могу нагуглить. Нужна функция которая возвращает имя пользователя который вызвал...

12
3564 / 2643 / 1003
Регистрация: 21.03.2016
Сообщений: 6,836
07.12.2017, 21:07 2
Python
1
2
3
4
5
6
7
8
def whoAreYouAndHello():
    
    x = input()
    while (x.isalpha() and x[0].isupper()) == False:
            x = input()   
    print('Привет, {}!'.format(x))
    
whoAreYouAndHello()
0
8 / 57 / 21
Регистрация: 12.03.2017
Сообщений: 514
07.12.2017, 21:17  [ТС] 3
Это решение не верно! Программа не проходит не одного теста!!!!
0
29 / 25 / 4
Регистрация: 09.12.2019
Сообщений: 27
13.01.2020, 16:31 4
Python
1
2
3
4
5
6
7
8
9
def who_are_you_and_hello():
    y = True
    x = input()
    while y:
        if x.isalpha() and x[0].istitle() and x[1:].islower():
            y = False
        else:
            x = input()
    print('Привет, ', x, '!', sep='')
0
1299 / 839 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
14.01.2020, 07:22 5
zaharmochalov, зачем вводить y?

Можно использовать просто x.istitle() вместо x[0].istitle() and x[1:].islower().
0
Просто Лис
Эксперт Python
4537 / 2929 / 943
Регистрация: 17.05.2012
Сообщений: 8,546
Записей в блоге: 9
14.01.2020, 09:59 6
Цитата Сообщение от ioprst Посмотреть сообщение
зачем вводить y?
Чтобы сделать break из цикла
0
1299 / 839 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
14.01.2020, 11:03 7
Рыжий Лис, можно же условие сразу запихнуть в while (я про это).
0
3564 / 2643 / 1003
Регистрация: 21.03.2016
Сообщений: 6,836
14.01.2020, 12:24 8
Цитата Сообщение от Pavlin234 Посмотреть сообщение
Это решение не верно! Программа не проходит не одного теста!!!!
ну а где ваше верное решение?
ioprst, запихнул все в while
Python
1
2
3
4
5
6
7
def whoAreYouAndHello():
    x = input()
    while  not all([x.isalpha(), x.istitle(),len(x.split()) == 1, x[1:].islower()]):
            x = input()   
    print('Привет, {}!'.format(x))
    
whoAreYouAndHello()
0
1299 / 839 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
14.01.2020, 12:50 9
Semen-Semenich, как-то вы усложняете
Python
1
while not all((x.isalpha(), x.istitle(), len(x) > 1))
и не выглядит уже как
1
Просто Лис
Эксперт Python
4537 / 2929 / 943
Регистрация: 17.05.2012
Сообщений: 8,546
Записей в блоге: 9
14.01.2020, 12:58 10
Python
1
2
3
4
while True:
    x = input()
    if x.isalpha() and x[0].istitle() and x[1:].islower():
        break
0
3564 / 2643 / 1003
Регистрация: 21.03.2016
Сообщений: 6,836
14.01.2020, 15:04 11
Рыжий Лис, а где условие
Цитата Сообщение от Pavlin234 Посмотреть сообщение
состоящее из одного слова
ну а так то лучше зачем проверять все если начальные False
ioprst, ошибочка в len(x) > 1
Python
1
2
3
4
5
6
7
8
9
>>> x = 'Пётр'
>>> len(x) > 1
True
>>> x = 'Петр Алексеевич'
>>> len(x) > 1
True
>>> len(x.split()) == 1
False
>>>
0
1299 / 839 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
14.01.2020, 15:10 12
Semen-Semenich, да, согласен, не обратил на это внимание.
0
1 / 1 / 0
Регистрация: 16.02.2021
Сообщений: 3
22.02.2021, 23:16 13
Python
1
2
3
4
5
6
7
8
def who_are_you_and_hello():
    s = input()
    while True:
        if s.isalpha() and s[0].istitle() and s[1:].islower():
            break
        else:
            s = input()
    print(f'Привет, {s}!')
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2021, 23:16
Помогаю со студенческими работами здесь

Запросить имя пользователя и напечатать "Привет, Вася!" 10 раз, если Вася – имя пользователя.
Ребят,подскажите,как делать)хотя бы идею) 1. Запросить имя пользователя и напечатать "Привет,...

Зная ip адрес компьютера и его имя вывести имя пользователя
Зная ip адрес компьютера и его имя вывести имя пользователя в текстовое поле. я смог осилить...

Определить, является ли строка электронным адресом в формате: <имя пользователя>@<доменное имя>
Пользователем вводится строка. Определить, является ли она электронным адресом в формате: &lt;имя...

Запросить у пользователя имя, фамилию и возраст. После чего вывести: “Здравствуйте [Имя] [Фамилия]”.
Здравствуйте и снова я обращаюсь за помощью задали задание: Написать код на JavaScript который...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru