将有关个人的所有信息用一句话打印如下:“姓名是一个州城市多年的职业。”
示例输入:-
苏尼尔·尚卡尔·萨勒曼
牙科医生木匠
15 10 10
孟买勒克瑙德里
Uttar_Pradesh New_Delhi Maharashtra
输出:-
苏尼尔在Uttar_Pradesh的勒克瑙做了15年的博士。
尚卡尔在德里( New_Delhi )做了10年的牙医。
萨勒曼是一个木匠在孟买,马哈拉施特拉邦10年。
**my code**
name=str(input())+" "
profession = str(input())+" "
no_of_years=(input())+" "
cities=str(input())+" "
states=str(input())+" "
print(f"{name},is a {profession} for {no_of_years} years in {cities}, {states}")发布于 2022-06-29 17:31:09
假设输入行之间没有空格,则垂直存储详细信息,矩阵转置则给出每一行中人的详细信息。zip()函数有助于转移矩阵
details_vertical = []
for ctr in range(5):
details_vertical.append(input().split())
for name, profession, experience, city, state in zip(*details_vertical):
print(f"{name},is a {profession} for {experience} years in {city}, {state}")发布于 2022-06-29 18:15:14
我建议使用内置的format-approach,而不是f-字符串:它更通用,因为您可以创建一个模板字符串,在其他“人员”的数据之间共享。每个人的数据可以通过字典理解来收集,该字典将被传递给模板。注意字典**的键值扩展。
# form per person
string_template = "{name}, is a {profession} for {no_of_years} years in {cities}, {states}"
keys = 'name', 'profession', 'no_of_years', 'cities', 'states'
data = {k: input(f'Insert {k}: ') for k in keys}
print(string_template.format(**data)) # key-value expansion为了进一步减少keys和string_format之间的依赖,可以(再次)使用string-format功能:
# per person
keys = 'name', 'profession', 'no_of_years', 'cities', 'states'
string_template = "{}, is a {} for {} years in {}, {}".format(*map('{{{}}}'.format, keys))
...注意,在{{{}}}中,转义符号需要两个括号,用format替换则需要最后一个括号。
这里有一个可能的互动方案:
keys = 'name', 'profession', 'no_of_years', 'cities', 'states'
string_format = "{}, is a {} for {} years in {}, {}".format(*map('{{{}}}'.format, keys))
data_people = []
while True:
main_menu_selection = input('[enter] Add a person\n[q] Quit')
if main_menu_selection == 'q':
print('Quit.')
break
data_person = {k: input(f'Insert {k}: ') for k in keys}
data_person_str = string_format.format(**data_person)
data_people.append(data_person_str)
print(*data_people, sep='\n')https://stackoverflow.com/questions/72805462
复制相似问题