Как бы я написал это для l oop, записанного в Python 2, известного как интерполяция строк в синтаксис для python3? - PullRequest
0 голосов
/ 18 января 2020
for i in range(1, 12):
    print("no {} squared is {} and cubed is {:4}".format(i, i**2, i**4))

Я привык писать простой код, используя этот метод, однако мне сказали, что это метод python2, и он больше не будет поддерживаться в будущем, когда будут выпущены новые версии python. что бы по-новому написать это l oop? Спасибо

1 Ответ

1 голос
/ 18 января 2020

Самый новый способ в python3 будет с [f-strings] [1], где каждый {} является заполнителем для оператора (переменная, выражение и т. Д. c). Например:

for i in range(1, 12):
    print(f"no {i} squared is {i**2} and cubed is {i**4:4}"

>>> 
no 1 squared is 1 and cubed is    1
no 2 squared is 4 and cubed is   16
no 3 squared is 9 and cubed is   81
no 4 squared is 16 and cubed is  256
no 5 squared is 25 and cubed is  625
no 6 squared is 36 and cubed is 1296
no 7 squared is 49 and cubed is 2401
no 8 squared is 64 and cubed is 4096
no 9 squared is 81 and cubed is 6561
no 10 squared is 100 and cubed is 10000
no 11 squared is 121 and cubed is 14641


  [1]: https://www.python.org/dev/peps/pep-0498/
...