Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
 Аватар для DewCooper
2 / 2 / 0
Регистрация: 10.09.2016
Сообщений: 242

Как написать функцию которая позволяет брать из списка файла числа?

17.02.2020, 12:09. Показов 1425. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую Всех Друзья! Не силен в Пайтоне, но нужно изменить код. У меня есть список чисел в текстовой файле: "Numbers.txt"

Мне бы хотелось встроить функцию которая позволяет брать из списка файла числа и конвертировать в формат HEX и сохранять результат в файл: "Save.txt"

Python
1
2
3
4
5
6
7
8
9
10
Numbers = 32507774588542730667334189836107721105271511687270173040361470657060
 
with open("Save.txt", "a") as f:
 
        val = str(hex(Numbers))
        if len(val) < 66:
            vals = val.split('x')
            vals.insert(1, 'x' + '0' * (66-len(val)))
            val = ''.join(vals)
        print(val, file=f)
Мне нужно в место этого,
Code
1
Numbers = 32507774588542730667334189836107721105271511687270173040361470657060
поместить список чисел в текстовом файле: "Numbers.txt"

Что-то вроде этого кода:

Python
1
2
3
with open ('Numbers.txt') as f:
     Numbers = f.read ()
....
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2020, 12:09
Ответы с готовыми решениями:

Написать функцию, которая из списка образует два новых списка. Один содержит нечетные числа, а второй - парные
Помогите закончить одно из заданий по работе со списком: Написать функцию, которая использует первоначальный список L и образует два...

Написать функцию, которая получает возвращает числа списка
Написать функцию list_of_sums(lst), которая получает на вход список чисел и возвращает только те, которые равны сумме всех...

Написать функцию,которая выделяет элементы списка, большие заданного числа
Буду благодарна за помощь

8
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
17.02.2020, 12:19
Python
1
2
3
with open('text.txt') as fin, open('out.txt', 'w') as fout:
    nums = map(int, fin.read().split('\n'))
    fout.write('\n'.join(map(hex, nums)))
text.txt
Кликните здесь для просмотра всего текста
3250777458854273066733418983610772110527 1511687270173040361470657060
3250777458854273066733418983610772110527 1511687270173040361470657061
3250777458854273066733418983610772110527 1511687270173040361470657062
3250777458854273066733418983610772110527 1511687270173040361470657063
3250777458854273066733418983610772110527 1511687270173040361470657064

out.txt
Кликните здесь для просмотра всего текста
0x134ae05ca97aad823310c98773b79194494fc4 84ce3a99f81ef1b8224
0x134ae05ca97aad823310c98773b79194494fc4 84ce3a99f81ef1b8225
0x134ae05ca97aad823310c98773b79194494fc4 84ce3a99f81ef1b8226
0x134ae05ca97aad823310c98773b79194494fc4 84ce3a99f81ef1b8227
0x134ae05ca97aad823310c98773b79194494fc4 84ce3a99f81ef1b8228
0
 Аватар для DewCooper
2 / 2 / 0
Регистрация: 10.09.2016
Сообщений: 242
17.02.2020, 12:22  [ТС]
Цитата Сообщение от ioprst Посмотреть сообщение
out.txt
Мне нужно добавлять нули после цифр 0x...

То есть чтобы было именно вот так:
0x0000000134ae05ca97aad823310c98773b7919 4494fc484ce3a99f81ef1b8224
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
17.02.2020, 12:27
Цитата Сообщение от DewCooper Посмотреть сообщение
Мне нужно добавлять нули после цифр 0x...
так добавляйте
Python
1
2
3
4
5
6
7
with open('text.txt') as fin:
    nums = map(int, fin.read().split('\n'))
    nums = list(map(str, map(hex, nums)))  # список строк. редактируйте его
    # преобразования ...
 
with open('out.txt', 'w') as fout:
    fout.write('\n'.join(nums))
0
 Аватар для DewCooper
2 / 2 / 0
Регистрация: 10.09.2016
Сообщений: 242
17.02.2020, 12:32  [ТС]
Цитата Сообщение от ioprst Посмотреть сообщение
так добавляйте

with open('text.txt') as fin:
    nums = map(int, fin.read().split('\n'))
    nums = list(map(str, map(hex, nums)))
    # преобразования ...
with open('out.txt', 'w') as fout:
    fout.write('\n'.join(nums))
К сожалению выходит такая ошибка:

Code
1
2
3
4
Traceback (most recent call last):
  File "E:\dechex.py", line 3, in <module>
    nums = list(map(str, map(hex, nums)))
ValueError: invalid literal for int() with base 10: ''
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
17.02.2020, 12:33
DewCooper, что у вас в файле? пример.
0
 Аватар для DewCooper
2 / 2 / 0
Регистрация: 10.09.2016
Сообщений: 242
17.02.2020, 12:40  [ТС]
Цитата Сообщение от ioprst Посмотреть сообщение
что у вас в файле? пример.
В файле ('text.txt') числа в формате DEC

Code
1
2
3
4
5
6
7
8
9
10
11
12
52134607646754540927906734505653236466677145993858277671900450261883240295677
52737217292330825901176234252707031848556070486727559059394315470339383813866
53341644952644219312174235612370524476623327143972977776665878223027875101001
53361964210657166417352943336315277203148613780317869590527662744623539879575
53752343850622198217232923820889840305246003631534059971296085075489310053090
53984043655268309025543559867873564109029429624279494045030922895422813619709
54637429669260627085777751284059904165494338602655711812563348200190056149596
54722344645473546976682199961162500053283469655090926582769342236980122449663
5473058148555419878357241337416012072530156352933124107816355926309254634931
55515897562083240754185569987506976629184681478927388763569429740675557704788
56211588716941054868774399963601628934804782417462501527106605145137806722877
57242113191978196254483481136536966692313598171912030531656705099203996143587
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
17.02.2020, 12:47
Лучший ответ Сообщение было отмечено DewCooper как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
11
with open('text.txt') as fin:
    nums = map(int, fin.read().split('\n'))
    nums = list(map(str, map(hex, nums)))
    for i, num in enumerate(nums):
        len_num = len(num)
        if len_num < 66:
            need_add = 66 - len_num
            nums[i] = f'0x{"0"*need_add}{num[2:]}'
 
with open('out.txt', 'w') as fout:
    fout.write('\n'.join(nums))
Добавлено через 2 минуты
Цитата Сообщение от DewCooper Посмотреть сообщение
ValueError: invalid literal for int() with base 10: ''
удалите пустые строки или добавьте проверку перед преобразований str в int
0
 Аватар для DewCooper
2 / 2 / 0
Регистрация: 10.09.2016
Сообщений: 242
17.02.2020, 12:49  [ТС]
Цитата Сообщение от ioprst Посмотреть сообщение
Python
Спасибо работает!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.02.2020, 12:49
Помогаю со студенческими работами здесь

Определить функцию, которая позволяет распознавать числа-палиндромы
Определить функцию, которая позволяет распознавать числа-палиндромы (вводится 6-значное число)

Список: Написать функцию, которая позволяет найти позитивную сумму элементов
Задание : 1. Написать функцию, которая позволяет привести в порядок элемент в списке , что-бы первые были негативные , и после этого...

Написать функцию, которая позволяет: исключить узел с заданной информационной частью
Написать функцию, которая позволяет: исключить узел с заданной информационной частью.

Написать программу-функцию, которая позволяет вычислять площади фигур ограниченных линиями
Помогите пожалуйста: Написать программу-функцию, которая позволяет вычислять площади фигур ограниченных линиями. Как создать такую...

Написать функцию, которая позволяет определить число вхождений элемента х в бинарное дерево
Написать функцию, которая позволяет определить число вхождений элемента х в бинарное дерево. Помогите пожалуйста


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru