Spaces:
Sleeping
Sleeping
from dataclasses import dataclass | |
class PantsMeasurements: | |
waist: float # in cm | |
hips: float # in cm | |
leg_length: float # in cm | |
def determine_fit(measurements: PantsMeasurements) -> str: | |
""" | |
Determine the general fit for pants based on waist, hips, and leg length measurements. | |
The algorithm uses two ratios: | |
- Waist-to-Hips Ratio: Lower ratios typically suggest a more tapered (slim) waist. | |
- Leg-to-Hips Ratio: Higher values indicate longer legs relative to hip size. | |
Assumed thresholds for demonstration purposes: | |
- Slim Fit: if waist/hips < 0.80 and leg_length/hips >= 1.15 | |
- Regular Fit: if 0.80 <= waist/hips <= 0.90 and 1.05 <= leg_length/hips < 1.15 | |
- Loose Fit: otherwise | |
Args: | |
measurements (PantsMeasurements): The measurements for waist, hips, and leg length. | |
Returns: | |
str: A recommendation of 'Slim Fit', 'Regular Fit', or 'Loose Fit'. | |
""" | |
waist_to_hip = measurements.waist / measurements.hips | |
leg_to_hip = measurements.leg_length / measurements.hips | |
if waist_to_hip < 0.80 and leg_to_hip >= 1.15: | |
return "Slim Fit" | |
elif 0.80 <= waist_to_hip <= 0.90 and 1.05 <= leg_to_hip < 1.15: | |
return "Regular Fit" | |
else: | |
return "Loose Fit" | |
def get_fit(waist: float, hips: float, leg_length: float) -> str: | |
""" | |
Get a fit recommendation for pants based on input measurements. | |
Args: | |
waist (float): Waist measurement in cm. | |
hips (float): Hip measurement in cm. | |
leg_length (float): Leg length measurement in cm. | |
Returns: | |
str: The recommended pants fit category. | |
""" | |
measurements = PantsMeasurements(waist=waist, hips=hips, leg_length=leg_length) | |
return determine_fit(measurements) | |
if __name__ == "__main__": | |
try: | |
waist_input = float(input("Enter your waist measurement (cm): ")) | |
hips_input = float(input("Enter your hip measurement (cm): ")) | |
leg_length_input = float(input("Enter your leg length measurement (cm): ")) | |
except ValueError: | |
print("Please enter valid numeric values.") | |
exit(1) | |
recommended_fit = get_fit(waist_input, hips_input, leg_length_input) | |
print(f"Based on your measurements, your recommended fit for pants is: {recommended_fit}") | |