Как исправить 'TypeError: print () принимает 1 позиционный аргумент, но 5 было дано' в Google Colab - PullRequest
0 голосов
/ 12 апреля 2019

Что мне делать?

Я поместил этот код в Google Colab

def student(sid, name, age):
    print(sid, name, '(', age, ')')

student(age=23, name=Choe, sid='2016129020')

и Колаб говорит

TypeError                                 Traceback (most recent call last)
<ipython-input-44-0beaaa7e73eb> in <module>()
      2   print(sid,name,'(',age,')')
      3 
----> 4 student(age=23, name='Choe', sid='2016129020')

<ipython-input-44-0beaaa7e73eb> in student(sid, name, age)
      1 def student(sid, name, age) :
----> 2   print(sid,name,'(',age,')')
      3 
      4 student(age=23, name='Choe', sid='2016129020')

TypeError: print() takes 1 positional argument but 5 were given

Не могу понять. :( Ожидаемый результат: 2016129020 Choe ( 23 )

Ответы [ 2 ]

0 голосов
/ 12 апреля 2019

Когда я запускаю ваш код, он работает без проблем:

def student(sid, name, age):
    print(sid, name, '(', age, ')')

student(age=23, name='Choe', sid='2016129020')
# 2016129020 Choe ( 23 )

Возможно ли, что вы случайно изменили где-то встроенную функцию печати? Например, я могу воспроизвести вашу ошибку следующим образом:

def print(x):
    pass # do nothing

def student(sid, name, age):
    print(sid, name, '(', age, ')')

student(age=23, name='Choe', sid='2016129020')
# TypeError: print() takes 1 positional argument but 5 were given

В этом случае вам следует перезапустить среду выполнения и повторно выполнить код, следя за тем, чтобы не перезаписывать встроенные функции.

0 голосов
/ 12 апреля 2019

изменить его на

print(' '.join(sid,name,'(',age,')'))

.join() является функцией любого string, он будет использовать string для объединения своих аргументов в единую строку.

другой вариант - использовать .format() функцию строки

print('{sid} {name} ( {age} )'.format(sid=sid, name=name, age=age))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...