76.6k views
1 vote
Given a set, weights, and an integer desired_weight, remove the element of the set that is closest to desired_weight (the closest element can be less than, equal to OR GREATER THAN desired_weight), and associate it with the variable actual_weight. For example, if weights is (12, 19, 6, 14, 22, 7) and desired_weight is 18, then the resulting set would be (12, 6, 14, 22, 7) and actual_weight would be 19. If there is a tie, the element LESS THANdesired_weight is to be chosen. Thus if the set is (2, 4, 6, 8, 10) and desired_weight is 7, the value chosen would be 6, not 8. Assume there is at least one value in the set.

User Unex
by
6.4k points

1 Answer

5 votes

Answer:

In the question stated a we declared a set named as weights also an integer variable was the desired_weight

In python A set is regarded as {12, 19, 6, 14, 22, 7}

Step-by-step explanation:

Solution

The python program code is executed below:

# Declare a tuple

weights = (12, 19, 6, 14, 22, 7)

# Declare an integer variable to store desired weight.

desired_weight = 18

# Declare an integer variable to store actual_weight weight

actual_weight = weights[0]

# Create a for-loop to read each value in the tuple.

for each_weight in weights:

# Create an if-statement to find the that is

# closest weight but not greater than desired weight.

if(each_weight > actual_weight and each_weight < desired_weight):

actual_weight = each_weight

weights=list(weights)

# Delete the actual weight

weights.remove(actual_weight)

weights=tuple(weights)

# Display the actual weight

print("Actual Weight:",actual_weight)

# Display the resulted tuple.

print("Resulted set:",weights)

This program here is to declare a set which is as follows:

# Declare a set

weights = {12, 19, 6, 14, 22, 7}

# Declare an integer variable to store desired weight.

desired_weight = 18

# Declare an integer variable to store actual weight

# Assign first index element using list.

actual_weight = list(weights)[0]

# Create a for-loop to read each value in the tuple.

for each_weight in weights:

# Create an if-statement to find the that is

# closest weight but not greater than desired weight.

if(each_weight > actual_weight and each_weight < desired_weight):

actual_weight = each_weight

# Delete the actual weight using discard() method.

weights.discard(actual_weight)

# Display the actual weight

print("Actual Weight:",actual_weight)

# Display the resulted tuple.

print("Resulted set:",weights)

User Akshay Deshmukh
by
7.5k points