It's not just more complexity per line, it's also a higher level of complexity, using language-specific features that people who aren't fluent in python wouldn't be familiar with (multiplying a string by a boolean)
Of course, this is true to a certain extent of all programming languages, but I do find Python particularly easy in this respect.
account.status = ["paid", "unpaid"][amount_due > 0]
This does the same thing as the FizzBuzz example, coercing a bool to int. Here the int is used as an index into the list of the two strings.Personally, I found this handy and liked it a lot. Others didn't and now there is this, which isn't bad:
account.status = "unpaid" if amount_due > 0 else "paid"
Maybe it's less like using obscure French and more like speaking in a slightly different dialect, or in a different region with different cultural references.Treating a boolean as an integer is iffy
Multiplying a string by a boolean frankly should be a no-no.
If writing in French for people who are not fluent, I think it would be a good idea to avoid idiomatic language.