Как напечатать имя и фамилию
Обновлено: 23.11.2024
Как часто вы сталкивались с формами, требующими ввода вашего имени, инициала отчества и фамилии? В остальном мире и отчасти в США они могут не работать. Причина в том, что в именах людей есть 2, а не 3 основных компонента:
<р>1. Имена: это имена, данные детям их родителями (или, в редких случаях, измененные детьми). <р>2. Фамилии (иначе известные как фамилии): это имена, передаваемые из поколения в поколение (за исключением Исландии).Пример 1. У Мэри Элизабет Смит два имени и одна фамилия. Если она называет себя Мэри, значит, у нее есть имя, она может использовать инициал отчества и у нее нет проблем с формами.
Пример 2. Предположим, однако, что ее с рождения зовут Элизабет (сокращенно Лиз). Тогда ее имя не будет соответствовать стандартным формам. Как и Дж. Эдгар Гувер (бывший директор ФБР) и многие другие. Вы можете поверить, что Лиз не захотела бы отвечать на имя Мэри только потому, что кто-то разработал форму, в которой записаны только ее имя и инициал среднего имени.
Пример 3. Лиз Смит выходит замуж за человека по имени Джим Браун. Она может называть себя Элизабет Смит или изменить свое имя на Элизабет Браун или Элизабет Смит Браун. Ее имя Мэри по-прежнему первое, но она почти никогда его не использует. Итак, какой у нее теперь "средний инициал"?
Пример 4. Ада Мария Герреро Перес — мексиканка. Ее имена (nombres) - Ада Мария (и она всегда использует оба этих имени), ее первоначальный апеллидо (фамилия отца) - Герреро, а ее второе апеллидо (фамилия матери) - Перес. Вы найдете ее в мексиканской телефонной книге под заголовком «Герреро Перес, Ада Мария». Она называет себя Адой Марией Герреро. Так что же ей делать, когда она встречает форму США, запрашивающую ее «имя, отчество и фамилию»?
Пример 5. Ада Мария выходит замуж за человека по имени Альфонсо Эрнесто Эрнандес Лопес. У него два имени (и он использует второе из них) и две фамилии (Эрнандес и Лопес). Вы найдете его в мексиканской телефонной книге под заголовком «Эрнандес Лопес, Эрнесто». Он называет себя Эрнесто Эрнандес. Как он отреагирует на американскую форму, в которой нужно указать имя, отчество и фамилию?
Пример 6. У Ады Марии новые проблемы с формами США: после замужества она стала Адой Марией Герреро де Эрнандес. Итак, как теперь она отреагирует на запрос в США имени, среднего инициала и фамилии?
Пример 7. Ли Сяо Пин из Китая. В Китае, Японии, Вьетнаме, Венгрии и некоторых других странах фамилия (Ли) стоит на первом месте. Два компонента (Сяо Пин) его имени используются вместе как одно имя, так что их почти можно написать Сяопин. Вы найдете его в китайском телефонном справочнике как Ли Сяо Пин (написано тремя китайскими иероглифами без запятой). Как он должен реагировать на форму США, запрашивающую имя, отчество и фамилию? Какое из его имен последнее?
Дизайн форм для США, запрашивающих "имя, инициал отчества и фамилию", создан для удобства дизайнеров форм из США. Он невежественно предполагает, что имя каждого соответствует этой форме, или властно, что имя каждого должно быть втиснуто в эту форму. Было бы более уместно спроектировать формы так, чтобы запрашивать (а) имена и (б) фамилии, а затем (в) подчеркивать имя и фамилию, под которыми вы хотите, чтобы вас знали. р>
(07 февраля 2020 г., 15:34) puredata Написал: полное имя = имя = " " + фамилия
возможно ли это в python?
в своем окне, да, оба работают нормально. Кажется, если разместить их в одном окне, у меня возникнут проблемы
firstName = input("Какое ваше имя?")
lastName = input("Какая ваша фамилия?")
fullName = firstName + " " + lastName
print ("Добро пожаловать " + ФИО)
currentYear = 2020
birthYear = input("В каком году вы родились?")
ibirthYear = int(birthYear)
age = currentYear - ibirthYear
print(age)
Похоже, изменение на это работает, но я все еще пытаюсь, чтобы окончательный вывод говорил что-то вроде "fn ln aged, age"
firstname = input("Какое ваше имя?")
lastname = input("Какая у вас фамилия?")
fullname = имя + фамилия
пробел = " "
fullname = имя + пробел + фамилия
currentyear = 2020
birthyear = input("В каком году вы родились?")
ibirthyear = int(birthyear)
age = currentyear - ibirthyear
print("Добро пожаловать" + ФИО, + возраст)
(07 февраля 2020 г., 15:37) Asm0deus314 Написал: Похоже, изменение на это работает, но я все еще пытаюсь, чтобы окончательный вывод говорил что-то вроде «fn ln aged, age»
Я только что проверил ваш окончательный код на IPython, похоже, он работает, когда я запускаю, он дает мне имя + фамилию и возраст с приветственной строкой.
Однако я бы постарался сделать его короче.Например, год рождения не нужно преобразовывать в целое число в отдельной строке. должно сработать. Таким образом, вам не понадобится переменная ibirthyear. Переменная пробела также выглядит довольно ненужной, учитывая, что вы можете жестко запрограммировать ее, она никогда не изменится на что-то другое из символа пробела.
Редактировать: это то, что я смог придумать;
В качестве следующего шага я бы рассмотрел возможность реализации исключений. В настоящее время этот скрипт позволяет пользователям вводить целые числа в качестве своего имени (не будет выдавать ошибку) или строковые символы в поле возраста (которое ожидает целые числа и выдает ошибку)
если имя или фамилия не является строкой, напечатайте ("вы должны ввести текст")
если возраст не является целым числом, напечатайте ("введите только цифры")
Если вам нужно извлечь фамилию из полного имени, вы можете сделать это с помощью этой довольно сложной формулы, которая использует несколько функций. В общей форме формулы (см. выше) имя – это полное имя с пробелом, отделяющим имя от других частей имени.
В примере активная ячейка содержит следующую формулу:
По сути, эта формула использует функцию ПРАВИЛЬНО для извлечения символов, начинающихся справа. Другие функции, составляющие сложную часть этой формулы, делают только одну вещь: они вычисляют, сколько символов нужно извлечь.
На высоком уровне формула заменяет последний пробел в имени звездочкой "*", а затем использует функцию НАЙТИ для определения позиции звездочки в имени. Позиция используется для определения того, сколько символов нужно извлечь с помощью RIGHT.
Как функция заменяет только последний пробел? Это умная часть.
Пристегнитесь, объяснение становится немного техническим.
Ключом к этой формуле является вот этот бит:
Что означает фактическая замена последнего пробела на "*".
SUBSTITUTE имеет четвертый (необязательный) аргумент, указывающий, какой «экземпляр» искомого текста следует заменить. Если для этого аргумента ничего не указано, заменяются все экземпляры. Однако, если, скажем, указано число 2, заменяется только второй экземпляр. В приведенном выше фрагменте instance вычисляется с использованием второй ЗАМЕНЫ:
Здесь длина имени без пробелов вычитается из фактической длины имени. Если в имени есть только один пробел, выдается 1. Если в имени два пробела, результат равен 2 и т. д.
В названии примера в B4 есть два пробела, поэтому мы получаем:
Два используется как номер экземпляра:
который заменяет второй пробел на "*". Тогда имя выглядит так:
Затем вступает в действие функция НАЙТИ, которая выясняет, где в имени находится символ "*":
Результат равен 10 (* стоит на 10-м месте), что вычитается из общей длины имени:
Поскольку имя состоит из 15 символов, мы имеем:
Число 5 используется RIGHT следующим образом:
Что приводит к "Chang"
Как видите, для вычисления этих простых 5 требуется много работы!
Обработка несовместимых пробелов
Дополнительные пробелы вызовут проблемы с этой формулой. Одно из решений – сначала использовать функцию TRIM, чтобы все очистить, а затем использовать формулу синтаксического анализа.
Сегодняшнее чудо дня было вдохновлено Дианной из штата Алабама. Дианна Уондерс: «Откуда взялась моя фамилия?» Спасибо, что ДУМАЕТЕ с нами, Дианна!
Вы любите обществознание? Узнать о прошлом может быть очень весело. Приятно узнать, где мы были и как прошлое формирует будущее.
Конечно, бывает трудно запомнить много дат. Не говоря уже обо всех этих именах! Джордж Вашингтон. Элеонора Рузвельт. Амелия Эрхарт. Роза Паркс. Малкольм Икс.
Да, в истории определенно много важных имен. Вы когда-нибудь останавливались и ЗАДАВАЛИСЬ, откуда взялись все эти имена? Возьмем, к примеру, фамилии — как вы получили свои? Возможно, это пришло от ваших родителей. Но откуда они это взяли? Если вы продолжаете прослеживать события в прошлом, ваша фамилия (или фамилия ) должна была где-то начинаться, верно?
Конечно! На самом деле у людей не всегда были фамилии. Китай был одной из первых цивилизаций, использовавших фамилии. Сообщается, что люди там взяли фамилии более трех тысяч лет назад, чтобы улучшить свою перепись. На протяжении многих лет фамилии передавались по наследству от матерей. Однако сегодня большинство детей в Китае носят фамилию своего отца, как и в большинстве других стран мира.
Фамилии появились в Европе позже. Их можно проследить до средневековья.В то время большинство европейцев жили в небольших деревнях, разделенных большими участками сельскохозяйственных угодий. Люди редко встречали выходцев из других областей. Все знали всех, кто жил в их деревне, поэтому в фамилиях не было необходимости.
Однако со временем эти деревни и население росли. Люди стали больше путешествовать. Они торговали с другими местами. Вскоре им понадобился способ отличить людей с одинаковыми именами. Фамилии появились как способ отделить одного «Джона» от другого «Джона».
У европейских фамилий было много источников. Однако их можно разделить на четыре группы: отчественные, местные, профессиональные или статусные и прозвища. Первые фамилии были достаточно простыми. С годами они стали более разнообразными и сложными.
Отчество идентифицирует людей как детей своих отцов. Например, у отца по имени Ричард может быть дочь по имени Брук. Возможно, она стала известна как Брук Ричардс.
Точно так же отец по имени Джон мог усыновить сына по имени Стивен. Стивен, возможно, носил имя Стивен Джонсон. Это означало бы, что он был тем Стефаном, который был сыном Джона.
Местные фамилии определяют людей по тому, где они родились, жили или работали. Например, Сара Йорк, вероятно, была той Сарой, которая жила в городе Йорк. Местные названия также могут относиться к земельным особенностям. Теодор Андерхилл или Карен Этвуд, вероятно, получили свои имена от ссылок на холмы или леса рядом с тем местом, где они жили.
Профессиональные или статусные имена также были распространены. Они были основаны на работе или социальном статусе. Андреа Бейкер, вероятно, была той Андреа в деревне, которая была пекарем. Роберт Найт мог выбрать свою фамилию, чтобы отразить его социальное положение как рыцаря.
Другие распространенные фамилии были основаны на псевдонимах. Обычно это были слова, которые каким-то образом помогали описать человека. Они могли быть основаны на росте (длинный, низкий, маленький) или личных качествах (толстый, строгий, веселый).
Многие из этих европейских фамилий попали в Соединенные Штаты во время колонизации. Сегодня некоторые американцы могут проследить свои фамилии вплоть до мест, откуда эмигрировали их семьи. Однако многие другие фамилии со временем были утеряны.
Это было особенно распространено, когда людей привозили из Африки для порабощения в Соединенных Штатах. Рабовладельцы часто лишали этих людей имени и фамилии. За поколениями порабощения их первоначальные фамилии были забыты.
После окончания рабства ранее порабощенные люди сами выбирали себе фамилии. Некоторые взяли имена своих бывших владельцев. Другие взяли фамилии важных деятелей американской истории или выбрали совершенно новые фамилии. Сегодня некоторые люди все еще выбирают себе фамилию. Они делают это, чтобы их имена соответствовали их личностям или убеждениям.
Откуда взялась ваша фамилия? Могло ли это быть занятием далеких предков? Может быть, это говорит вам, как выглядели ваши пра-пра-пра-пра-пра-бабушка и дедушка! Какой бы ни была ваша фамилия, за ней определенно стоит история. Покопайтесь и узнайте, что это такое!
Читайте также: