#python #python-3.x #python-requests
#python #python-3.x #python-запросы
Вопрос:
Я получаю ошибку, пожалуйста, помогите ее решить.
import webbrowser
import pyautogui, time
N= int(input ("Number of URL's to be entered:"))
URL=[]
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
for i in range(1,N):
str= 'Enter' str(i) 'URL'
print(str)
URL[i]= input()
for i in range(1,N):
webbrowser.get(chrome_path).open(url[i])
time.sleep(10)
screenshot = pyautogui.screenshot()
filename= "test" str(i) ".png"
screenshot.save(filename)
Ошибка:
Количество URL-адресов, которые нужно ввести: 5
Введите1url
https://discord.com/channels/423464391791476747/449411261491314698
Traceback (most recent call last):
File "C:UsersdilipPycharmProjectsuntitled3sc1.py", line 11, in <module>
URL[i]= input()
IndexError: list assignment index out of range
Комментарии:
1. Индексация списка начинается с 0, а не с 1, поэтому вы переходите на 1 после конца списка.
2. также не используйте
str
в качестве идентификатора внутри вашего кода. Это создает непреднамеренные осложнения со встроеннойstr()
Ответ №1:
Чтобы добавить элемент в список, вы должны использовать List_name.append(элемент) .
Кроме того, индекс первого элемента URL равен 0, а не 1. Это должно выполнить задание:
for i in range(0,N):
a = input(f"Enter {str(i)} URL")
URL.append(a)
URL[0] будет содержать первый элемент, а URL [N-1] — последний элемент.
Ответ №2:
Вы создаете пустой список в строке 5:
URL=[]
Затем вы получаете доступ ко второму элементу списка в строке 11. Это выдает ошибку, поскольку в списке нет элементов. Я предполагаю, что вы хотите добавить элемент в список вместо доступа ко второму элементу. Используйте функцию добавления. Смотрите https://docs.python.org/3.8/tutorial/datastructures.html .
Ответ №3:
Смотрите ниже, как должен выглядеть цикл URL-адресов коллекции
N = 5
URL = []
for i in range(1, N):
URL.append(input(f'Enter URL {i}'))
print(URL)
Комментарии:
1. Файл «C:UsersdilipPycharmProjectsuntitled3sc1.py «, строка 9, в <module> str= ‘Enter’ str(i) ‘URL’ Ошибка типа: объект ‘str’ не вызывается
Ответ №4:
Вы пытаетесь проиндексировать пустой список.
Если вы хотите добавить элементы в список, используйте метод append()
for i in range(1,N):
str= 'Enter' str(i) 'URL'
print(str)
URL.append(input())