Отображение определенного количества символов

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

Конечно, в мире компьютеров, распределение RNG не является по-настоящему непрерывным, так что «возможно», что вы столкнетесь с определенным значением (независимо от того, что это означает), но тот факт, что вы полагаетесь на ограничение того, как хранятся реальные числа, намекает на проблемы с вашим подходом к любой проблеме, которую вы пытаетесь решить.

1
задан Sreekiran 23 January 2019 в 13:32
поделиться

3 ответа

Один подход, если вам нужно избежать пробелов в символах и оставить только 3000 символов.

char_count = 30
curr_char_count = 0
complete_str = ""
for line in fhand :
    new_line = line.decode().replace(" ", "")
    if len(complete_str) + len(new_line) <= char_count:
        complete_str = complete_str + new_line
    else:
        complete_str = complete_str + new_line[:((len(complete_str)+len(new_line)) - char_count)]
        break

print complete_str
0
ответ дан Jay 23 January 2019 в 13:32
поделиться

Там нет принятого ответа, почему? Существует 2 ответа на «(2) отображение до 3000 символов» и, если вы хотите получить длину файла «(3) подсчет общего количества символов в документе». (это работает по крайней мере с текстовыми документами), вы можете использовать код ниже.

import urllib.request, urllib.parse, urllib.error

user_url = 'http://data.pr4e.org/romeo-full.txt'
fhand = urllib.request.urlopen(user_url)
result = fhand.read() 
print(len(result))

Это слегка модифицированный код ForceBru.

0
ответ дан N00b 23 January 2019 в 13:32
поделиться

Вы можете сделать:

fhand = urllib.request.urlopen(user_url)
result = fhand.read(3000) # read 3000 BYTES (since it's not specified what a 'character' is)

Или прочитать все, декодировать и вывести 3000 символов:

result = fhand.read().decode()[:3000] # note that whitespace is a character too
0
ответ дан ForceBru 23 January 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: