Алексей Комаров
Мастер
(1436),
закрыт
7 лет назад
Дополнен 7 лет назад
недописал: while otshet < itog
0_ooo
Просветленный
(20107)
7 лет назад
print(list(range(-1,-21,-3)))
Источник: это лаконичный язык, зачем тут while?
Алексей КомаровМастер (1436)
7 лет назад
Задача такая у меня в учебнике, именно ее и надо решить, до лаконичного и правильного кода мне еще далеко.
0_ooo
Просветленный
(20107)
i = -1
while i>-21:
__print(i)
__i = i – 3
XapD
Мудрец
(18021)
7 лет назад
otshet = -1
while otsh < itog:
Ржу – не могу…
Алексей КомаровМастер (1436)
7 лет назад
Подскажи как правильно лучше
XapD
Мудрец
(18021)
Лучше проспаться и не курить траву. Чтобы внимание появилось. Витаминчики попить, там… Чаи всякие травяные. Чтобы сосредоточить внимание. На всякий случай – чернички пожрать и морковочки, чтобы зрение, если вдруг подвело, поправить. А потом ВНИМАТЕЛЬНО прочитать то, над чем я ржу уже минут пять…
blabla blabla
Мастер
(1623)
7 лет назад
res = -1
two = -3
itog = -21
while res > itog:
res = res – two
print (res)
Алексей КомаровМастер (1436)
7 лет назад
“Traceback (most recent call last):
File “C:/Python34/test.py”, line 4, in
while res > itog:
NameError: name ‘res’ is not defined”
blabla blabla
Мастер
(1623)
res = -1
two = -3
itog = -21
while res > itog:
res = res – two
print (res)
лексей дронин
Мыслитель
(5666)
7 лет назад
как то так
b=-1
c=0
while b!=-22:
….if c%2==0:
….print(b)
b=b-1
c=c+1
если каждым третьим считать число начиная от выведенного результата. если включая его то изменить с%3==0. точки обозначают отступ
IngaI 2 / 2 / 1 Регистрация: 27.06.2018 Сообщений: 78 |
||||
1 |
||||
28.09.2018, 23:12. Показов 5288. Ответов 4 Метки нет (Все метки)
Здравствуйте! Прошу помощи со считыванием массива из dataGridView. Нужно считать 0-вой, 3-ий, 6-ой и т.д. элемент в массив, то есть тот, который в остатке при прохождении цикла равен 0. При вводе двоичного массива с двумя одинаковыми строками 1,2,3,4,5,6 почему-то выводится 4444 вместо 1414.
0 |
814 / 561 / 240 Регистрация: 01.07.2018 Сообщений: 1,818 |
|
28.09.2018, 23:20 |
2 |
IngaI, Не пойму. А почему просто не увеличивать счетчик на 3. Может покажите что там за грид у вас такой ?
0 |
Элд Хасп Модератор 13766 / 9982 / 2657 Регистрация: 21.04.2018 Сообщений: 29,729 Записей в блоге: 2 |
||||||||||||
29.09.2018, 00:53 |
3 |
|||||||||||
IngaI, вот это
равносильно этому
Добавлено через 1 минуту
Вы присваиваете всем A[i, k] одно и тоже значение. Это так надо?
0 |
2 / 2 / 1 Регистрация: 27.06.2018 Сообщений: 78 |
|
29.09.2018, 20:39 [ТС] |
4 |
Что-то не пойму, почему присваиваю одно и тоже значение? У меня же в цикле идёт прохождение по элементам. Добавлено через 49 минут
0 |
Модератор 13766 / 9982 / 2657 Регистрация: 21.04.2018 Сообщений: 29,729 Записей в блоге: 2 |
|
29.09.2018, 20:55 |
5 |
Что-то не пойму, почему присваиваю одно и тоже значение? У меня же в цикле идёт прохождение по элементам. В этом цикле Вы изменяете только
0 |
31.03.2013, 05:04 |
|||
|
|||
Каждое третье число нк
|
31.03.2013, 06:02 |
|||||||
|
|||||||
Напишите корректный пример. Число 323532525631558 кратно 3 ?! Где Вы узрели 4 в цифрах этого числа ?! Зачем Вы суммировали все 3,2,5,1,4,8 если
?? |
31.03.2013, 11:29 |
|||
|
|||
гпш
|
31.03.2013, 11:57 |
||||
|
||||
Так? var str = prompt("Введите число", "") ; var l = str.length ; if(l%3) { alert("Длина числа должна быть кратной 3") ; } else { var sum = 0 ; for(var i=2; i<l; i+=3) sum += str[i]-0 ; alert(sum%2?"Результат: "+sum : "Простите, но результат ваших чисел четный!") ; } ;
__________________ |
31.03.2013, 12:39 |
||||
|
||||
спасибо огромное!!! именно оно!! |
If you’re interested in learning LINQ you could do:
IEnumerable<string> thirdWeeks = Enumerable.Range(0, 52)
.Where((week, index) => index % 3 == 0)
.Select(week => string.Format("Week {0}", week + 1));
string allWeeksInOneLine = String.Join(Environment.NewLine, thirdWeeks);
Console.Write(allWeeksInOneLine);
If you want three-weeks-in-line groups like Week 1 Week 4 Week 7
:
var weeksGrouped = thirdWeeks
.Select((week, index) => new { week, index })
.GroupBy(x => x.index / 3)
.Select(g => String.Join("t", g.Select(x => x.week)));
string allWeeksGrouped = String.Join(Environment.NewLine, weeksGrouped);
Console.Write(allWeeksGrouped);
Result:
Week 1 Week 4 Week 7
Week 10 Week 13 Week 16
Week 19 Week 22 Week 25
Week 28 Week 31 Week 34
Week 37 Week 40 Week 43
Week 46 Week 49 Week 52
Дан диапазон целых чисел от n1 до n2. Найти факториал каждого третьего простого
числа в заданном диапазоне.
Можно было ли сделать код проще или пойдет ?
def find_simple(n):
s = True
for i in range(2, n):
if n%i == 0:
s = False
break
return s
def factorial(n):
s = 1
for i in range(1, n+1):
s *= i
return s
l = range(30, 70)
k = 0
for i in l:
if find_simple(i) == True:
k += 1
if k == 3:
k = 0
print('Число: ', i ,'nФакториал числа',factorial(i))
Kromster
13.5k12 золотых знаков43 серебряных знака72 бронзовых знака
задан 2 авг 2021 в 16:37
1
Можно написать несколько короче и немного оптимальнее. Хотя короче не всегда значит быстрее, не всегда значит понятнее, любое решение это компромисс:
from functools import reduce
def is_simple(n):
return all(n % i for i in range(2, int(n**0.5)+1))
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n))
for i in list(filter(is_simple, range(30, 70)))[2::3]:
print(f'Число: {i}nФакториал числа: {factorial(i)}')
Пояснения:
- функция проверки на простоту должна называться
is_simple
(вернее дажеis_prime
, но не суть), потому что функция проверяет число, а не ищет - проверять на простоту достаточно перебирая делители до корня из числа
- можно записать всю проверку коротко в одну строку и во вполне в “человеческом” виде: “все остатки от деления не нулевые, вплоть до корня из числа”
- факториал можно записать через
reduce
, понятнее ли это – вопрос на самом деле спорный, но это опять же однострочник - перебор “каждого третьего простого числа в диапазоне” также можно записать однострочником
- печатать значения лучше современным способом, через
f-строки
ответ дан 2 авг 2021 в 17:12
CrazyElfCrazyElf
65.4k5 золотых знаков19 серебряных знаков50 бронзовых знаков