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

Zadanie dla poczatkujacych

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
293 wizyt
pytanie zadane 4 dni temu 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 4 dni temu przez Iei Obywatel (1,020 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 4 dni temu 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 4 dni temu przez Iei Obywatel (1,020 p.)

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

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

wrong answer :(((

komentarz 4 dni temu przez Iei Obywatel (1,020 p.)
math.silnia = new_math_factorial

to już napisz poza funkcją 

1 odpowiedź

+1 głos
odpowiedź 4 dni temu przez tangarr Mędrzec (150,800 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 4 dni temu przez tangarr Mędrzec (150,800 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 4 dni temu przez pasjonat_algorytmiki Stary wyjadacz (12,680 p.)
A może problemem była np. angielska treść. Też jest to możliwe.
1
komentarz 4 dni temu przez tangarr Mędrzec (150,800 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 4 dni temu przez pasjonat_algorytmiki Stary wyjadacz (12,680 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 3 dni temu przez Iei Obywatel (1,020 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,328 wizyt
pytanie zadane 20 lutego 2016 w Java przez Aisekai Nałogowiec (42,230 p.)
+2 głosów
3 odpowiedzi 7,498 wizyt
pytanie zadane 18 lipca 2015 w C i C++ przez maciekvip90 Nowicjusz (140 p.)

90,823 zapytań

139,496 odpowiedzi

313,568 komentarzy

60,316 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...