Найти - Пользователи
Полная версия: помогите пожалуйста решить! лёгкие
Начало » Python для новичков » помогите пожалуйста решить! лёгкие
1 2
grok
Эт похоже только начало семестра… простенькие задачки просят решить.
А под конец курсачи пойдут… тогда ждите.. :lol:
maxwell
Nikasas на вскидку — для второй задачи решений нет. Т.е. таких чисел не существует. Возможно речь шла о кубах?
knkd
maxwell
для второй задачи решений нет. Т.е. таких чисел не существует.
Вот и решение задачи нарисовалось :D:
while (True):
raw_input("Введите число -> ")
print "Ошибка!"
Стоимость решения задачки $10*.
Пока не будет уплочено - продолжения не будет.

* +6,5% в пенсионный фонд.
maxwell
def is_n_digit(N, expected_digit_count = 2):
'''
returns True if <N> is number and has exactly <digit_count> digits
'''
n = int(abs(N))
if n == 0:
real_digit_count = 1
else:
real_digit_count = 0
while (n):
real_digit_count += 1
n = n // 10

return (real_digit_count == expected_digit_count)


def first_task(n):
return (n > 0) and (is_n_digit(n, 2))

def second_task(n, expected_digit_count = 3):
if (is_n_digit(n, expected_digit_count)):
original_n = n
square_sum = 0

for x in xrange(expected_digit_count):
n, digit = divmod(n, 10)
square_sum += digit ** 2

return original_n == square_sum

else:
return False

def is_triangle(sides):
return ((sides[0] + sides[1]) > sides[2]) and \
((sides[0] + sides[2]) > sides[1]) and \
((sides[1] + sides[2]) > sides[0])


def third_task(first_triangle, second_triangle):
if (is_triangle(first_triangle) and is_triangle(second_triangle)):

# sides must be in float
tr1 = [float(x) for x in first_triangle]
tr2 = [float(x) for x in second_triangle]
# compare corresponding sides
tr1.sort()
tr2.sort()
# simplest way
return ((tr1[0] / tr2[0]) == (tr1[1] / tr2[1]) == (tr1[2] / tr2[2]))
else:
return False


def fourth_task(n, expected_digit_count = 4):
if (is_n_digit(n, expected_digit_count)):
odd_digits = 0
for x in xrange(expected_digit_count):
n, digit = divmod(n, 10)
if not digit % 2: # is odd
odd_digits = (odd_digits + 1) % 2
return odd_digits == 0

else:
return False


def fifth_task(n, expected_digit_count = 4):
if (is_n_digit(n, expected_digit_count)):
for x in xrange(expected_digit_count):
n, digit = divmod(n, 10)
if not (digit in [2,3,5,7]):
return False
return True

else:
return False
Как-то так.
Все функции довольно универсальны.
Вот, и чай с булками допил :-)
Zubchick
maxwell
Вот, и чай с булками допил :-)
и подписал форуму смерть от наплыва студентоты.
maxwell
Zubchick
maxwell
Вот, и чай с булками допил :-)
и подписал форуму смерть от наплыва студентоты.
Я сам студент. Правда преподаю уже 4-ре года, но сути это не меняет.
Если действительно, что-то серьезное — удалите сообщения ;-)

Хотя, сдается мне, не все поймут код, а ведь он совсем даже еще не «экстремальный»
helm2004
помогите пожалуйста решить! лёгкие
А также печень, почки, и кишечник!
maxwell
функцию is_n_digit можно переписать, т.к. знак нам совершенно не важен.
def is_n_digit(N, expected_digit_count = 2):
'''
returns True if <N> is number and has exactly <expected_digit_count> digits
'''
n = int(abs(N))
range_min = 10 ** (expected_digit_count - 1) - 1
range_max = 10 ** (expected_digit_count)

return (n > range_min) and (n < range_max)
Isem
Nikasas
к 3 и 4 хотябы покажите код пожалуйста! я вообще не знаю питона. только начал изучать а задания  через день надо сдать. я потом разберусь, прочитаю, уже книгу скачал по языку ,просто время…
Только чтобы разобраться, надо почитать.

def is_n_digit(N, expected_digit_count):
return N>=0 and len(str(int(N))) == expected_digit_count

def task1(N):
return is_n_digit(N, 2)

def task2(N):
return False

def is_triangle(*T):
return 2*max(T) < sum(T)

def task3( A, B ):
""" Возвращаем None, если один из "треугольников" невозможен """
if is_triangle(A) and is_triangle(B):
return max(A)*min(B) - min(A)*max(B) == 0 == sum(A)*min(B) - sum(B)*min(A)

def task4(N):
return is_n_digit(N,4) and sum(ord(i) for i in str(N))&1 == 0

def task5(n):
return is_n_digit(N,4) and all( i in '2357' for i in str(N))
Для второй задачи, как уже правильно заметили, решений нет.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB