Skip to content

Commit 9ef61bc

Browse files
committed
Redid Tuples and Sets - Lab
1 parent 3892d3f commit 9ef61bc

File tree

6 files changed

+162
-80
lines changed

6 files changed

+162
-80
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
1-
nums = [float(num) for num in input().split()]
2-
3-
numbers = tuple(nums)
4-
5-
checked_numbers = []
1+
numbers = tuple(map(float, input().split()))
2+
used_numbers = set()
63

74
for num in numbers:
8-
if num not in checked_numbers:
9-
checked_numbers.append(num)
10-
print(f"{num:.1f} - {numbers.count(num)} times")
5+
if num not in used_numbers:
6+
print(f"{num:.1f} - {numbers.count(num)} times")
7+
used_numbers.add(num)
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,31 @@
1-
student_grades = {}
1+
grades = int(input())
22

3-
number_of_grades = int(input())
3+
students = {}
44

5-
for grades in range(number_of_grades):
6-
name, grade = input().split()
7-
if name not in student_grades:
8-
student_grades[name] = [f'{float(grade):.2f}']
5+
for curr_student in range(grades):
6+
student, grade = input().split()
7+
8+
if student not in students:
9+
students[student] = [float(grade)]
910
continue
10-
student_grades[name].append(f'{float(grade):.2f}')
1111

12-
[print(f'{name} -> {" ".join(grades)} (avg: {sum(list(map(float, grades))) / len(list(map(float, grades))):.2f})') for name, grades in student_grades.items()]
12+
students[student].append(float(grade))
13+
14+
for student, student_grades in students.items():
15+
print(student, '->', ' '.join([f'{grade:.2f}' for grade in student_grades]), f'(avg: {sum(student_grades) / len(student_grades):.2f})')
16+
17+
18+
19+
# ---- OLD ----
20+
# student_grades = {}
21+
#
22+
# number_of_grades = int(input())
23+
#
24+
# for grades in range(number_of_grades):
25+
# name, grade = input().split()
26+
# if name not in student_grades:
27+
# student_grades[name] = [f'{float(grade):.2f}']
28+
# continue
29+
# student_grades[name].append(f'{float(grade):.2f}')
30+
#
31+
# [print(f'{name} -> {" ".join(grades)} (avg: {sum(list(map(float, grades))) / len(list(map(float, grades))):.2f})') for name, grades in student_grades.items()]

Advanced/1.Stacks, Queues, Tuples and Sets/Tuples and Sets - Lab/03. Record Unique Names.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22

33
unique_names = set()
44

5-
for person in range(names):
5+
for curr_name in range(names):
66
name = input()
77
unique_names.add(name)
88

9-
for name in unique_names:
10-
print(name)
9+
print('\n'.join(unique_names))
10+
11+
12+
# names = set([input() for name in range(int(input()))])
13+
# print('\n'.join(names))
14+
15+
16+
# print('\n'.join(set([input() for name in range(int(input()))])))
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
1-
parking_lot = set()
1+
directions = int(input())
22

3-
commands = int(input())
3+
cars = set()
44

5-
for command in range(commands):
6-
in_out, car_number = input().split(', ')
5+
for car_direction in range(directions):
6+
direction, car_number = input().split(', ')
77

8-
if in_out == 'OUT' and car_number in parking_lot:
9-
parking_lot.remove(car_number)
8+
if direction == "IN":
9+
cars.add(car_number)
1010

11-
elif in_out == 'IN':
12-
parking_lot.add(car_number)
11+
else:
12+
cars.remove(car_number)
13+
14+
if cars:
15+
print('\n'.join(cars))
1316

14-
if parking_lot:
15-
[print(car) for car in parking_lot]
1617
else:
1718
print("Parking Lot is Empty")
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,77 @@
1-
invited_guests = int(input())
1+
import re
22

3-
regular_guests = set()
4-
vip_guests = set()
3+
valid_reservation_pattern = r'^\S{8}$'
54

6-
for invite in range(invited_guests):
7-
guest_number = input()
5+
reservations = int(input())
86

9-
if len(guest_number) == 8:
7+
regular, vip = set(), set()
108

11-
if guest_number[0].isdigit():
12-
vip_guests.add(guest_number)
9+
for curr_reservation in range(reservations):
10+
reservation = input()
1311

14-
elif not guest_number[0].isdigit():
15-
regular_guests.add(guest_number)
12+
valid_reservation = re.findall(valid_reservation_pattern, reservation)
1613

17-
guest = input()
18-
while guest != "END":
14+
if valid_reservation:
1915

20-
if guest in regular_guests:
21-
regular_guests.remove(guest)
16+
if reservation[0].isdigit():
17+
vip.add(reservation)
2218

23-
if guest in vip_guests:
24-
vip_guests.remove(guest)
19+
else:
20+
regular.add(reservation)
2521

26-
guest = input()
22+
reservation = input()
23+
while reservation != "END":
2724

28-
print(len(vip_guests) + len(regular_guests))
25+
if reservation in regular:
26+
regular.remove(reservation)
2927

30-
if vip_guests:
31-
vip_guests_did_not_come = sorted(list(vip_guests))
32-
[print(guest) for guest in vip_guests_did_not_come]
28+
elif reservation in vip:
29+
vip.remove(reservation)
3330

34-
if regular_guests:
35-
regular_guests_did_not_come = sorted(list(regular_guests))
36-
[print(guest) for guest in regular_guests_did_not_come]
31+
reservation = input()
32+
33+
print(len(regular) + len(vip))
34+
35+
if vip:
36+
print('\n'.join(sorted(vip)))
37+
38+
if regular:
39+
print('\n'.join(sorted(regular)))
40+
41+
# ---- OLD ----
42+
# invited_guests = int(input())
43+
#
44+
# regular_guests = set()
45+
# vip_guests = set()
46+
#
47+
# for invite in range(invited_guests):
48+
# guest_number = input()
49+
#
50+
# if len(guest_number) == 8:
51+
#
52+
# if guest_number[0].isdigit():
53+
# vip_guests.add(guest_number)
54+
#
55+
# elif not guest_number[0].isdigit():
56+
# regular_guests.add(guest_number)
57+
#
58+
# guest = input()
59+
# while guest != "END":
60+
#
61+
# if guest in regular_guests:
62+
# regular_guests.remove(guest)
63+
#
64+
# if guest in vip_guests:
65+
# vip_guests.remove(guest)
66+
#
67+
# guest = input()
68+
#
69+
# print(len(vip_guests) + len(regular_guests))
70+
#
71+
# if vip_guests:
72+
# vip_guests_did_not_come = sorted(list(vip_guests))
73+
# [print(guest) for guest in vip_guests_did_not_come]
74+
#
75+
# if regular_guests:
76+
# regular_guests_did_not_come = sorted(list(regular_guests))
77+
# [print(guest) for guest in regular_guests_did_not_come]
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,46 @@
11
numbers = list(map(int, input().split()))
2-
target = int(input())
3-
4-
summations = []
5-
indexes = set()
6-
7-
for index, number_one in enumerate(numbers):
8-
9-
if index in indexes:
10-
continue
11-
12-
for second_index, number_two in enumerate(numbers):
13-
14-
if second_index in indexes or second_index == index or index in indexes:
15-
continue
16-
17-
if number_one + number_two == target:
18-
19-
summations.append([number_one, number_two])
20-
indexes.add(index)
21-
indexes.add(second_index)
22-
23-
for summation in summations:
24-
25-
first_number = summation[0]
26-
second_number = summation[1]
27-
28-
print(f'{first_number} + {second_number} = {target}')
2+
number_indexes = set()
3+
target_number = int(input())
4+
5+
for first_index in range(len(numbers)):
6+
7+
for second_index in range(len(numbers)):
8+
9+
if first_index != second_index and first_index not in number_indexes and second_index not in number_indexes \
10+
and numbers[first_index] + numbers[second_index] == target_number:
11+
12+
print(f"{numbers[first_index]} + {numbers[second_index]} = {target_number}")
13+
number_indexes.add(first_index), number_indexes.add(second_index)
14+
break
15+
16+
17+
18+
# ---- OLD ----
19+
# numbers = list(map(int, input().split()))
20+
# target = int(input())
21+
#
22+
# summations = []
23+
# indexes = set()
24+
#
25+
# for index, number_one in enumerate(numbers):
26+
#
27+
# if index in indexes:
28+
# continue
29+
#
30+
# for second_index, number_two in enumerate(numbers):
31+
#
32+
# if second_index in indexes or second_index == index or index in indexes:
33+
# continue
34+
#
35+
# if number_one + number_two == target:
36+
#
37+
# summations.append([number_one, number_two])
38+
# indexes.add(index)
39+
# indexes.add(second_index)
40+
#
41+
# for summation in summations:
42+
#
43+
# first_number = summation[0]
44+
# second_number = summation[1]
45+
#
46+
# print(f'{first_number} + {second_number} = {target}')

0 commit comments

Comments
 (0)