Найти - Пользователи
Полная версия: Напишите программу, которая из двух кортежей делает список объединения и список прямого произведения. (Помогите)
Начало » Python для новичков » Напишите программу, которая из двух кортежей делает список объединения и список прямого произведения. (Помогите)
1
Burdeen

Задача 5.8. Напишите программу, которая из двух кортежей делает список объединения и список прямого произведения.

# probl5_7_1.py
'''Программа делает список обьединения двух кортежей.
Программа делает список произведения двух кортежей.
Печатает результаты. '''
# Программа разработана Литвиновым Александром 10.10.2015

names=('Ваня', 'Коля', 'Катя', 'Стёпа', 'Полина')
countries=('Россия', 'Франция', 'Аргентина', 'Индия')

print(names+countries)
Если со сложением все понятно, то как сделать произведение кортежей, ведь они не являются числовым типом??
old_monty
>>> names=('Ваня', 'Коля', 'Катя', 'Стёпа', 'Полина')
>>> countries=('Россия', 'Франция', 'Аргентина', 'Индия')
>>> def product(tuple1, tuple2):
	result = ()
	for t1 in tuple1:
		for t2 in tuple2:
			result += ((t1,t2),)
	return result
>>> product(names, countries)
(('Ваня', 'Россия'), ('Ваня', 'Франция'), ('Ваня', 'Аргентина'), ('Ваня', 'Индия'), ('Коля', 'Россия'), ('Коля', 'Франция'), ('Коля', 'Аргентина'), ('Коля', 'Индия'), ('Катя', 'Россия'), ('Катя', 'Франция'), ('Катя', 'Аргентина'), ('Катя', 'Индия'), ('Стёпа', 'Россия'), ('Стёпа', 'Франция'), ('Стёпа', 'Аргентина'), ('Стёпа', 'Индия'), ('Полина', 'Россия'), ('Полина', 'Франция'), ('Полина', 'Аргентина'), ('Полина', 'Индия'))
Burdeen
old_monty
Питон не хочет запускать программу, и, судя по всему, не понимает меня((
old_monty
Burdeen
Питон не хочет запускать программу, и, судя по всему, не понимает меня((
Обратите внимание, у меня не файл программы, а прямой ввод данных и определения функции в строке приглашения интерактивной оболочки интерпретатора Python (приглашение пользователю ввести команду или данные - это знак >>>). Затем там же делается вызов только что определенной функции product c параметрами names и countries и сразу же происходит выдача результата.

Если хотите оформить в виде программы в вашем файле probl5_8.py, то уберите из каждой строки системное приглашение (>>>). Отступы обязательно соблюдайте.
py.user.next
>>> names = ('Ваня', 'Коля', 'Катя', 'Стёпа', 'Полина')
>>> countries = ('Россия', 'Франция', 'Аргентина', 'Индия')
>>> 
>>> names + countries
('Ваня', 'Коля', 'Катя', 'Стёпа', 'Полина', 'Россия', 'Франция', 'Аргентина', 'Индия')
>>> tuple((i, j) for i in names for j in countries)
(('Ваня', 'Россия'), ('Ваня', 'Франция'), ('Ваня', 'Аргентина'), ('Ваня', 'Индия'), ('Коля', 'Россия'), ('Коля', 'Франция'), ('Коля', 'Аргентина'), ('Коля', 'Индия'), ('Катя', 'Россия'), ('Катя', 'Франция'), ('Катя', 'Аргентина'), ('Катя', 'Индия'), ('Стёпа', 'Россия'), ('Стёпа', 'Франция'), ('Стёпа', 'Аргентина'), ('Стёпа', 'Индия'), ('Полина', 'Россия'), ('Полина', 'Франция'), ('Полина', 'Аргентина'), ('Полина', 'Индия'))
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB