• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie dla poczatkujacych

Object Storage Arubacloud
0 głosów
629 wizyt
pytanie zadane 18 marca 2023 w Python przez Asia BeDe Nowicjusz (130 p.)
Cześć,

Wykupiłam sobie kurs pythona dla początkujących na platformie by się trochę rozwinąć :) jestem mega zielona i bawie się w to dopiero kilka dni. Kurs polega na tym by dopiero po zrobieniu każdego zadania można dostać nowa teorie i nowe zadania. Z tym zadaniem mecze się już ponad dobę i nie mogę zrobić nic innego na platformie. Czy ktoś mnie poratuje i podpowie jak mam to zrobić. Wiem, ze nie można prosić o gotowe rozwiązania, ale ja jestem zdesperowana.

Prevent cheating

 

On Hyperskill, we sometimes need to check that the student's code doesn't use a particular method. For instance, when the task is to manually implement the factorial computation instead of using the factorial() function from the mathmodule. How could we do that?

It is straightforward. We can override math.factorial() to do something else — raise an error or print a message to the student. To do so, first, we define a function that does what we want (for example, prints a message) with the same arguments (since we want to disguise our new function as the original one). Then, outside this new function body, we need to assign it to math.factorial this way: math.factorial = new_math_factorial (pay attention to the absence of parentheses). Now, if the student tries to use math.factorial, our custom function will be raised. It happens because when multiple functions with the same name exist, the later one always overrides the prior.

In this task, you are a content creator at Hyperskill. Implement the example with the factorial yourself. Your program should override math.factorial() and make it printthe message Don't cheat! instead of calculating a factorial. You don't need to call anything.
 

 

Kod zaczyna się od:

Import math.

Pomocy!

i dziękuje jeśli ktoś się zlituje !

 

Asia
komentarz 18 marca 2023 przez Iei Obywatel (1,950 p.)

Raczej 

math.factorial = new_math_factorial

i wtedy umieścić w new_math_factorial to zdanie Don't cheat. Ale to jest tak zagmatwane, że nie wiem czy o to chodzi

komentarz 18 marca 2023 przez Asia BeDe Nowicjusz (130 p.)
Import math.
 
def math_factorial():
print("Don't cheat!")
math.silnia = new_math_factorial

Chyba nie...., ale dzieki

komentarz 18 marca 2023 przez Iei Obywatel (1,950 p.)

import z małej litery, bez kropki po math w pierwszej linijce no i pamiętaj o wcięciach w funkcji

komentarz 18 marca 2023 przez Asia BeDe Nowicjusz (130 p.)
import math
  
def math_factorial():
    print("Don't cheat!")
    math.silnia = new_math_factorial

wrong answer :(((

komentarz 18 marca 2023 przez Iei Obywatel (1,950 p.)
math.silnia = new_math_factorial

to już napisz poza funkcją 

1 odpowiedź

+1 głos
odpowiedź 18 marca 2023 przez tangarr Mędrzec (154,860 p.)

Żeby zrozumieć o co chodzi w zadaniu przeanalizuj i uruchom następujący kod

def funkcja():
    print("Oryginanla funkcja")
    
def inna_funkcja():
    print("Podmieniona funkcja")

funkcja()
funkcja=inna_funkcja
funkcja()

 

2
komentarz 18 marca 2023 przez tangarr Mędrzec (154,860 p.)
Różnej maści boot campy próbują wmówić ludziom, że każdy może zostać programistą, ale nie jest to prawda. Ludzie mają różne predyspozycje, niektórych ograniczeń po prostu nie da się przeskoczyć.

To, że dla ciebie coś jest łatwe do zrozumienia to nie znaczy, że wszyscy inni też będą w stanie to zrozumieć jeżeli wystarczająco się do tego przyłożą.

Treść zadania wprost mówi co należy zrobić. Dlatego założyłem dwie alternatywy: przemęczenie umysłowe lub brak predyspozycji. W żadnym wypadku nie zgodzę się, że było to okropne. Było to realistyczne spojrzenie na sytuację. Nie próbowałem jej zniechęcać. Skupiłem się głównie na tym by pozwoliła sobie odpocząć. Dobrze wiem, jak pomaga spojrzenie na problem świeżym okiem po odświeżającym śnie.
komentarz 18 marca 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
A może problemem była np. angielska treść. Też jest to możliwe.
1
komentarz 18 marca 2023 przez tangarr Mędrzec (154,860 p.)
Możliwe, dlatego sugerowałem dokładne przetłumaczenie treści zadania.

Inną możliwością (którą nie wprost zasugerowałeś) jest po prostu niska jakość materiału szkoleniowego.
komentarz 18 marca 2023 przez pasjonat_algorytmiki Pasjonat (19,540 p.)
"Inną możliwością (którą nie wprost zasugerowałeś) jest po prostu niska jakość materiału szkoleniowego."

Też mi się tak wydaje. Takie zadanie na sam start wydaje mi się, że średnio świadczy o materiale. Moim zdaniem na start (pierwsze kilka godzin nauki), powinno się pokazać podstawy, a dopiero potem jakieś zadania. Dlatego podlinkowałem link do tych filmików.
komentarz 19 marca 2023 przez Iei Obywatel (1,950 p.)
@Asia Bede HyperSkill to jest jakaś nieznana platforma. Na przyszłość zastanów się nad wyborem jakiejś sprawdzonej, np. Udemy. Tam będziesz miała wszystko po polsku i bardzo mało prawdopodobne jest, że będziesz musiała męczyć się z takimi tajemniczymi zadaniami

Podobne pytania

+1 głos
2 odpowiedzi 2,529 wizyt
pytanie zadane 20 lutego 2016 w Java przez Aisekai Nałogowiec (42,190 p.)
+2 głosów
3 odpowiedzi 8,123 wizyt
pytanie zadane 18 lipca 2015 w C i C++ przez maciekvip90 Nowicjusz (140 p.)

92,677 zapytań

141,581 odpowiedzi

320,061 komentarzy

62,039 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...