Ad
  • Custom User Avatar

    Jaja so do I

  • Custom User Avatar

    Good catch! It certainly would make sense to make baryon_number a class variable, since it's a property of all quarks that is never expected to change.

    Examining this kata's sample tests, I see that the baryon_number test is inside the test section labelled "Class attributes", so it would seem that you are correct in thinking that it should be a class variable.

    But since the baryon_number is never supposed to change, it doesn't matter too much whether it's a class variable or an instance variable. The only time it makes a real difference is if you want to query the baryon_number, and there are no quarks that exist. Should we still be able to query the baryon_number? (Most people would say yes, but there are physicists who insist that measurements for particles that don't exist are non-sensical. For instance, every proton in the universe may have the exact same mass, but that measurement lacks meaning if there exist zero protons. But I digress...)

    If you'll let me digress even more, what would be expected to happen if a quark suddenly happened to get its baryon number changed? Would that be an unusual quark, or would every quark in the universe also get its baryon number changed to the same value? (To be honest, I don't really know what a "baryon_number" is, but I'm sure if it changed for all quarks everywhere, life as we know it would be very different!)

    Hopefully, we'll never have to worry about that scenario. But as for the purposes of the code here, it looks like that your hunch to make "baryon_number" a class variable is a correct one.

  • Custom User Avatar

    look at your function name