Matematik Yarışması Sınıflayıcı Olun


17

Amerika Birleşik Devletleri'nde bir matematik onur derneği olan Mu Alpha Theta tarafından yürütülen matematik yarışmalarına katılmaktan zevk alıyorum. Yarışmalarda 30 sorudan oluşan çoktan seçmeli bir sınava giriyorum. Soru başına A'dan E'ye etiketlenmiş beş seçenek vardır.

Testteki puanım her doğru cevap için dört puan, boş bırakılan bir soru için sıfır puan ve her yanlış cevap için negatif bir puan.

Yukarıdaki puanlama sistemine göre bir testi derecelendiren bir program yazın. Girdinin iki bileşeni olmalıdır: bir yanıt anahtarı ve ardından yanıtlar. Boş bırakılan sorular boşluk olarak girilmelidir. İlk giriş yalnızca AE harflerini (veya ae, seçiminiz) içermelidir ve girişte boşluk olmadığı varsayılabilir. İkinci giriş yalnızca boşluklar ve AE (veya ae) harflerini içermelidir. 30 soruluk test uygulamayan girdiler Invalid testçıktı olarak yazdırılmalıdır .

Çıktı notu veya olmalıdır Invalid test.

Bonus

Programınız sağ sayı, boş bırakılan sayı ve son puandan sonra yanlış sayı olarak yazdırıyorsa, (aR bB cW)20 bayt çıkarın.

Örnek giriş

CABBDCABECDBACDBEAACADDBBBEDDA    //answer key
CABEDDABDC BACDBBAADE  CBBEDDA    //responses

Örnek çıktı

Bonus yok

73

Bonus

73 (20R 3B 7W)

Standart kurallar geçerlidir. Bayt cinsinden en kısa kod kazanır.


İlk satırdaki boşluklarla ne yapmalıyız?
lirtosiast

@ThomasKwa İlk satırda boşluk olmamalıdır. Invalid test.
Arcturus

2
En az 2 tanesini geçersiz kılan cevaplar gönderildikten sonra kuralları değiştirdiğiniz anlaşılıyor. Lütfen bir meydan okuma gönderildikten sonra cevapları geçersiz kılabilecek hiçbir değişiklik yapmayın. Göndermeden önce geri bildirim almak için Sandbox'ı kullanmak iyi bir fikirdir.
Alex

Bence bu daha az elverişli
kedi

Vaka duyarlılığına ne dersiniz? ayrıca, ya dilim ... boşluktan memnun değilse? girişte boşluk yerine alt çizgi olması gerektiğini belirtebilir miyim?
kedi

Yanıtlar:


7

Pyth, 53 51

?&!-sJ.z+d<G5&FqR30lMJ+sm?qFd4_1CJ/eJd"Invalid test

Çevrimiçi deneyin

Kontroller, tüm boşluklar ve boşluklar a-ekaldırıldığında tüm girdinin herhangi bir karakter içerip içermediğini görerek ve her iki dizenin uzunluğunun olup olmadığını kontrol ederek yapılır 30.

Puan hesaplama birlikte iki satır sıkıştırma, o zaman, her bir çift eşleme ile yapılır: (letters are equal) ? 4 : -1. Sonra sadece değerleri toplayın ve ikinci satırdaki boşluk sayısını tekrar skora ekleyin.


1
Hata yok. (Şu anda Dennis'in cevabından daha az bayt ...)
Arcturus

7

Ciddi , 86 bayt

,`;l5╙¬=);' UΣS" ABCDE"=(**;l`Mi@)=YWé"Invalid test"0WX@Z```i@;(=5*(' =D+`(;l@)5╙¬=IMΣ

Gibi girdi alır "CABBDCABECDBACDBEAACADDBBBEDDA", "CABEDDABDC BACDBBAADE CBBEDDA"

Çevrimiçi olarak deneyin (kalıcı bağlantılar tırnak işaretlerini sevmediği için girişi manuel olarak girmeniz gerekir)

Şimdi bonus üzerinde çalışıyor. Hayır, bonusu eklemek 20 bayttan daha fazlaya mal olacak.

Bir şey unutduğumu biliyordum ... Invalid Testbir hata durumunda basılmıyor. Dışarıda golf oynamak için umutlarım var.


Yapar? Ciddi anlamda? Sonra onu oylamak zorunda
edc65

4

JavaScript (ES6), 134 bayt

Düzenleme: Soru gereksinimleri değişti. Bu cevap, programın her cevap karakterinin AE, her yanıt karakterinin AE veya boşluk olduğundan ve her ikisinin de 30'luk uzunluğa sahip olduğundan emin olmak için ihtiyaç duyduğu zamandır Invalid test.

(a,r)=>[...a].map((q,i)=>q>"E"|q<"A"?x=1:(c=r[l=i])==" "?0:c>"E"|c<"A"?x=1:c==q?s+=4:s--,s=x=0)&&x|l!=29|r.length!=30?"Invalid test":s

açıklama

(a,r)=>                   // a = answer string, r = responses string
  [...a].map((q,i)=>      // iterate over answers, q = answer, i = question number
    q>"E"|q<"A"?x=1:      // x = 1 if answer is invalid
    (c=r[l=i])==" "?0:    // c = question response, l = answer length, add 0 for space
    c>"E"|c<"A"?x=1:      // x = 1 if response is invalid
    c==q?s+=4:s--,        // add 4 if correct, subtract 1 if incorrect
    s=x=0                 // s = total score, x = is invalid
  )&&
    x|l!=29|r.length!=30? // check input lengths for validity
      "Invalid test":
      s                   // return the score

Ölçek

<input type="text" id="answers" value="CABBDCABECDBACDBEAACADDBBBEDDA" /><br />
<input type="text" id="responses" value="CABEDDABDC BACDBBAADE  CBBEDDA" /><br />
<button onclick='result.innerHTML=(

(a,r)=>[...a].map((q,i)=>q>"E"|q<"A"?x=1:(c=r[l=i])==" "?0:c>"E"|c<"A"?x=1:c==q?s+=4:s--,s=x=0)&&x|l!=29|r.length!=30?"Invalid test":s

)(answers.value,responses.value)'>Go</button><pre id="result"></pre>



3

JavaScript (Firefox 31+), 86 bayt

(x,y)=>(r=i=0,[for(l of y)x[i++]==l?r+=4:r-=l!=' '],i!=30|i-x.length?'Invalid test':r)

ES7 için önerilen dizi algılamayı kullanır. Böylece destek şimdilik Firefox ile sınırlıdır.

Bonus ile 106 bayt (126-20)

(x,y)=>[r=w=i=0,[for(l of y)x[i++]==l?r++:w+=l!=' '],`${r*4-w} (${r}R ${i-r-w}B ${w}W)`,'Invalid test'][i!=30||i-x.length?3:2]

Düzenleme: Önceden benim çözümüm sadece cevap veya soru uzunluğunu kontrol etti, şimdi her ikisini de kontrol ediyor.


f=Başlangıçta atlayabilir ve bunun bir lambda işlevi oluşturduğunu söyleyebilirsiniz.
Conor O'Brien

1
@ CᴏɴᴏʀO'Bʀɪᴇɴ Teşekkürler Her zaman unutuyorum onlardan test -_-
George Reith

Bu, bonus olmadan önemli ölçüde daha kısa olacaktır. 86 bayt:(x,y)=>(r=i=0,[for(l of y)x[i++]==l?r+=4:r-=l!=' '],i!=30|i-x.length?'Invalid test':r)
user81655

@ user81655 Doğru, teşekkürler ... Biraz yakalandım ... sadece şablon dizesi 34 bayt
George Reith

Çok benzer bir cevabım var, ama bunu kopyalamadım (ilk denemem emsaldir, ancak uzunlukları kontrol etmediğim için sildim). Bununla birlikte: bu, A aralığını kontrol etmediği için 3 yukarı oy almasına rağmen geçerli değil ... E
edc65

2

Japt , 71 bayt

Japt kısaltılmış versiyonudur Ja vaScri nk . yorumlayıcı

Ul ¥30©Vl ¥30«(U+V k"[A-E ]+" ?U¬r@VgZ ¥Y?X+4:VgZ ¥S?X:X-1,0 :`InvÃ. È.

.Sondaki iki s, sırasıyla yazdırılamaz Unicode karakterleri U + 0017 ve U + 0099 olmalıdır.

Nasıl çalışır

Ul ==30&&Vl ==30&&!(U+V k"[A-E ]+" ?Uq r@VgZ ==Y?X+4:VgZ ==S?X:X-1,0 :"Invalid test
                    // Implicit: U = first input, V = second input
Ul ==30&&Vl ==30&&  // If both input lengths are 30, and
!(U+V k"[A-E ]+"?   // removing all ABCDE and spaces from (U+V) results in an empty string:
Uq r@            ,0 //  Reduce U with this function, starting with a value of 0:
VgZ ==Y?            //   If the matching char in V is equal to this char, 
X+4                 //    return previous value + 4.
:VgZ ==S?X          //   Else if the matching char in V is a space, return previous value.
:X-1                //   Else (if it's wrong), return previous value - 1.
:"Invalid test      // Else, return "Invalid test".
                    // Implicit: output last expression

Umarım her iki uzunluğun 30'a eşit olduğundan emin olmanın daha kısa bir yolu vardır. Öneriler hoş geldiniz!


2

Haskell, 144138 bayt

a%b|map length[a,b]==[30,30]&&"ABCDE"!a&&"ABCDE "!b=show$sum$zipWith(?)a b|0<1="Invalid test"
l!s=all(`elem`l)
_?' '=0
x?y|x==y=4|0<1=0-1

Doğrulama olmadan yaklaşık 50 olurdu. koklamak .

Kullanımı: "ABCDEABCDEABCDEABCDEABCDEABCDE" % "AAAAABBBBBCCCCCDDDDDEEEEEAAAAA"


1
!all(`elem`l)s6 bayt tasarruf olarak tanımlanabilir .
Zgarb

1
... ya go pointfree: g=all.flip elem.
nimi

2

C # 162 154 148 134 bayt

string g(string k,string a)=>k.Length!=30||a.Length!=30?"Invalid Test!":Enumerable.Range(0,30).Sum(e=>a[e]==' '?0:k[e]==a[e]?4:-1)+"";

kullanım

g("CABBDCABECDBACDBEAACADDBBBEDDA", "CABEDDABDC BACDBBAADE  CBBEDDA")

Ölçek

http://csharppad.com/gist/15f7c9c3c8cfce471ff2


Bunu int s=0,i=0;for(;...3 bayt kaydetmek için değiştirebilirsiniz .
LegionMammal978

İlk giriş için 29 karakter ve ikinci için 31 karakter girerseniz bu alışkanlık olmaz .. "geçersiz test" yazdırmalıdır ama aslında not vermeye çalışacağız.
Johan

@ noisyass2: string x (string k, string a) => k.Length! = 30 || a.Length! = 30? "Geçersiz Test!": Numaralandırılabilir. Aralık (0,30). Toplam (e => a [e] == ''? 0: k [e] == a [e]? 4: -1) + ""; (134 karakter) ve Johans girdisini dikkate alır.
Stephan Schinkel

Çözüm için +1, ancak bu özellik kazanıyor mu? OP tam programı söyledi.
Yytsi

Johan güzel yakala! @StephanSchinkel delege ve Enum.range bitini kullanma fikri için teşekkürler. Durumu 30 == (k.Length & a.Length) olarak değiştirerek 3 karakter daha tıraş edebildim
noisyass2

2

Ruby, 81 karakter

->t,s{r=0;30.times{|i|r+=t[i]==s[i]?4:s[i]>' '?-1:0};t.size==30?r:'Invalid test'}

Örnek çalışma:

2.1.5 :001 > ->t,s{r=0;30.times{|i|r+=t[i]==s[i]?4:s[i]>' '?-1:0};t.size==30?r:'Invalid test'}['CABBDCABECDBACDBEAACADDBBBEDDA','CABEDDABDC BACDBBAADE  CBBEDDA']
 => 73 

2.1.5 :002 > ->t,s{r=0;30.times{|i|r+=t[i]==s[i]?4:s[i]>' '?-1:0};t.size==30?r:'Invalid test'}['CCCATCH','CABEDDABDC BACDBBAADE  CBBEDDA']
 => "Invalid test" 

2

Java, 183 169 bytes

This was a nice bit of Java 8 practice:

String f(String a,String r){return a.length()==30&r.length()==30?""+IntStream.range(0,30).map(i->a.charAt(i)==r.charAt(i)?4:r.charAt(i)!=' '?-1:0).sum():"Invalid test";}

I'm not a Java Golfer, but I think you can save the String.valueOf by just adding the int to an empty string (""+IntStream....) - I also believe Java allows non-short-circuiting and, so you can remove one of the & and save a byte.
VisualMelon

@VisualMelon Harika ipuçları, teşekkürler. String.valueOf'un aldığı kaç bayt beni sinirlendiriyordu!
RCB

2

brainfuck, 354 bayt

+[--[>]<<+>-],----------[[<<<]>>->[>>>],----------]<<<[<<<]>>+[<-[-------<+>]<.+[---<+>]<.++++++++.[-<+++>]<-.+++++++++++.---.-----.-[---<+>]<-.---[-<++++>]<.+++[-<+++>]<.[---<+>]<----.+.>]>[[>,----------->+++++++[<---<<+++>>>-]<[<<+[>>+<<-]]>[>]<<<[>[>+>+<<-]>>[<<+>>-]>[>>>]>----<<<<[<<<]>>[-]]>[>-<-]>[>>[>>>]>-----<<<<[<<<]>[-]]>>]----[>+++<--]>--.<]

0 hücresinden sola gitmenizi sağlayan bir yorumlayıcı gerektirir. Çıktı imzalı bir bayttır. Örneğin, bayt 0x49örnek giriş 0xFFiçin yazdırılır ve aynı ilk satırla ancak ikinci satır "C" ve 29 boşlukla değiştirilen giriş için yazdırılır.

Puan 0'dan başlar ve ikinci girdi satırı okundukça bu değişiklikler onun üzerinde yapılır:

  • Giriş doğru: Hiçbir şey yapma
  • Giriş yanlış: Çıkarma 5
  • Girdi boşluk: Çıkar 4

Son olarak 120 eklenir. Bu işlevsel olarak 0'dan başlamak yerine mükemmel bir puan almak ve ceza uygulamakla aynıdır.

Yorumlarla:

+[--[>]<<+>-]                          Get 29

,----------[[<<<]>>->[>>>],----------] Get first line of input; for each char sub one
                                       from the 29

<<<[<<<]>>+                            Add one to the cell that originally held 29

[                                      If the cell that originally held 29 is nonzero:

  Write "Invalid test"
  <-[-------<+>]<.+[---<+>]<.++++++++.[-<+++>]<-.+++++++++++.---.-----.-[---<+>]<-.---[-<++++>]<.+++[-<+++>]<.[---<+>]<----.+.

>]

>[                                     If the cell to the right is nonzero:

  This block is only ever entered if "Invalid test" isn't written!

  [                                      For all 30 characters of the first input:

    >,                                     Get char from second input to the right

    ----------                             Subtract 10 for consistency

    -                                      Subtract one more

    >+++++++[<---<<+++>>>-]                Subtract 21 (plus above lines = 32)

    <[                                     If it's nonzero:

      <<+[>>+<<-]                            Add 22 to the character

    ]

    >[>]<<<[                                 If the above block wasn't entered:

      >[>+>+<<-]>>[<<+>>-]                   Make a copy of the character from input 1

      >[>>>]>----                            Subtract 4 from the score

      <<<<[<<<]>>[-]                         Go to the cell just before first character

    ]

    >[>-<-]                                Subtract input 1 char from input 2 char

    >[                                     If the result is nonzero:

      >>[>>>]>-----                          Subtract 5 from the score

      <<<<[<<<]>[-]                          Go back to the result and set it to 0

    ]

    >>                                     Move on to next character

  ]

  ----[>+++<--]>--                       Add 120 to score (perfect score)

  .                                      Print score

  <                                      Go to an empty cell to kill loop

]

1

Python 3, 187 179 175 165 155 151

lambda a,b:(['Invalid test',sum([-1,4][i==j]for i,j in zip(a,b))+b.count(' ')][len(a)==len(b)==30and set(a)^set('ABCDE')==set(b)^set('ABCDE ')==set()])

1

JavaScript ES7, 102

Her zamanki gibi, bonus çabaya değmez.

(k,h,t=i=0)=>[for(x of h)t+=k[i++]==x?4:1-x?0:-1]|/[^ A-E]/.test(k+h)|i-30|k.length-i?"Invalid test":t

İlk girişte geçersiz boşluk olup olmadığını kontrol etme (bu benim için anlamlı) 112

(k,h,t=i=0)=>[for(x of h)(y=k[i++])>' '?t+=y==x?4:1-x?0:-1:k=h+h]|/[^ A-E]/.test(k+h)|i-30|k[i]?"Invalid test":t

Ugh, doğrulama denediğimde kodumun yarısını aldı: (k,r,s=0)=>/^[A-E]{30}$/.test(k)&&/^[ A-E]{30}$/.test(r)?Object.keys(k).map(i=>k[i]==r[i]?s+=4:s-=r[i]!=' ').pop():'Invalid Test'129 bayt.
Neil

1

Python 2.7, 131, 116, 109 , 139

"Kısa" bir python çözümü yapmaya çalıştım ... İşte burada, öneriler hoş geldiniz

lambda c,d:d.count(' ')+sum([-1,4][a==b]for a,b in zip(c,d)if b!=' ')if not set('ABCDE ')^set(c+d)and len(c)==len(d)==30 else'Test Invalid'

Birkaç karakter daha eklemek daha okunabilir kılar ...

def m(c, d):
    if len(c)==len(d)==30:return d.count(' ')+sum((a==b)*4+(a!=b)*-1 for a,b in zip(c,d)if b!=' ')
    return'Test Invalid'

1

Prolog, 165 bayt

Baytların yarısından fazlası geçersiz test kontrolü içindir.

Kod:

p(X,X,4).
p(_,32,0).
p(_,_,-1).
A*B:-length(A,30),length(B,30),subset(A,`ABCDE`),subset(B,`ABCDE `),maplist(p,A,B,L),sum_list(L,S),write(S);write('Invalid Test').

Açıklaması:

p(X,X,4).                                       % If corresponding elements are equal, 4p
p(_,32,0).                                      % If answer is 'space', 0p
p(_,_,-1).                                      % Else, -1p
A*B:-length(A,30),length(B,30),                 % Check that input is of correct length
     subset(A,`ABCDE`),subset(B,`ABCDE `),      % Check that input has correct characters
     maplist(p,A,B,L),sum_list(L,S),write(S);   % Create a list of scores (L) and print sum
     write('Invalid Test').                     % If anything failed, write Invalid Test

Misal:

`CABBDCABECDBACDBEAACADDBBBEDDA`*`CABEDDABDC BACDBBAADE  CBBEDDA`.
73

Burada çevrimiçi deneyin


1

MATLAB, 92 90 bayt

Tom Carpenter'a cevabımı 2 byte azaltmama yardımcı olduğu için teşekkürler!

function c(q,a),if nnz(q)~=30,t='Invalid test';else s=q-a;t=5*nnz(~s)-sum(s<9);end,disp(t)

Fonksiyon cevap sayfasını q ' ya ve gönderilen cevapları a' ya atayarak çağrılabilir . Örneğin:

c('CABBDCABECDBACDBEAACADDBBBEDDA','CABEDDABDC BACDBBAADE  CBBEDDA')

Cevap basitçe ekrana yazdırılır. Ans = 73 yazdırılmasına izin verilirse 8 bayt kaydedilebilir


Sen değiştirerek 2 bayt kurtarabilecek numel(q)ile nnz(q).
Tom Carpenter

1

C # 6.0 -> (270-20 = 250) 246-20 = 226 bayt

void m(string b,string c){if((b+c).Length==60){var a=new int[3];int s=0;for(int i=0;i<30;i++){if(b[i]==c[i]){a[0]++;s+=4;}else if(c[i]==' ')a[2]++;else{a[1]++;s--;}}Console.Write(s+$" ({a[0]} {a[2]} {a[1]})");}else Console.Write("Invalid test");}

Okunabilir ve çözülmemiş versiyon:

    void m(string b, string c)
    {
        if ((b+c).Length==60)
        {
            var a = new int[3];
            int s = 0;
            for (int i = 0; i < 30; i++)
            {
                if (b[i]==c[i])
                {
                    a[0]++;
                    s+=4;
                }
                else if (c[i] == ' ')a[2]++;
                else
                {
                    a[1]++;
                    s--;
                }
            }
            Console.Write(s+$" ({a[0]} {a[2]} {a[1]})");
        }
        else Console.Write("Invalid test");
    }

Gerçekten bonus almak istedim: D


Nice work! A few of general tricks that apply here, you can declare i along with s outside the for loop. You can use var to declare a, saving 1 byte (hurrah!). You don't need many of the curly braces {} in your code, which is always a good way to trim bytes, and it's always worth looking at an ASCII table when comparing chars (you can knock a byte off c[i]==' ' somewhat by using an inequality). You should also consider counting through the strings backwards - in this case you can save at least 1 byte by rejigging the for loop somewhat.
VisualMelon

Unfortunately, your submission is currently not complicit with the criteria, as it is unable to recognise invalid inputs.
VisualMelon

@VisualMelon Ahh, I feel so dumb. I wrote this submission at school so I forgot to add the 'invalid test' things etc. I'll add them :)
Yytsi

@VisualMelon Yeah, this was submitted and written in school at the end of the class, I'll edit it. Thanks for the tricks :)
Yytsi

0

Groovy 2.4.5, 107 bytes

Just a simple translation of the earlier Java answer.

f={a,b->a.length()==30&b.length()==30?(0..29).collect{a[it]==b[it]?4:b[it]!=' '?-1:0}.sum():'Invalid test'}

0

C, 273 - 20 = 253 bytes

#include<stdio.h>
#include<string.h>
int main(int c,char**v){char*p=v[1],*q=v[2],*s=" ABCDE",r[]={0,0,0};if(strspn(p,s+1)!=30||p[30]||strspn(q,s)!=30||q[30])puts("Invalid test");else{for(;*p;++q)++r[(*p++!=*q)+(*q==' ')];printf("%d (%dR %dB %dW)",4**r-r[1],*r,r[2],r[1]);}}

I've taken the bonus, even though it cost me 23 bytes just to print it. :-(

Explanation

#include <stdio.h>
#include <string.h>
int main(int c,char**v)
{
    char *p=v[1], *q=v[2],      /* arguments */
        *s=" ABCDE",            /* valid chars */
        r[]={0,0,0};            /* results - right, wrong, blank */

    if (strspn(p,s+1) != 30     /* validity check - answer key begins with [A-E]{30} */
        || p[30]                /* and ends there */
        || strspn(q,s) != 30    /* same for answers, but allow space, too */
        || q[30])
    {
        puts("Invalid test");
    } else {
        for ( ;  *p;  ++q)      /* for each answer */
            ++r[(*p++!=*q)+(*q==' ')]; /* increment the appropriate counter */
        printf("%d (%dR %dB %dW)",4**r-r[1],*r,r[2],r[1]); /* print result */
    }
}

There's twice as much code to check for invalid input as there is to count the answers - the real meat of the challenge is in the for loop near the end. In fact here's a version that assumes the input is always valid, in 163-20 = 143 bytes:

#include<stdio.h>
int main(int c,char**v){char*p=v[1],*q=v[2],r[]={0,0,0};for(;*p;++q)++r[(*p++!=*q)+(*q==' ')];printf("%d (%dR %dB %dW)",4**r-r[1],*r,r[2],r[1]);}

And one that makes the same assumption and prints only the score, in 133 bytes:

#include<stdio.h>
int main(int c,char**v){char*p=v[1],*q=v[2],r[]={4,-1,0};for(c=0;*p;++q)c+=r[(*p++!=*q)+(*q==' ')];printf("%d",c);}

0

SAS 9.4, 291-20 = 271 bytes(with bonus), or 231 bytes(without bonus)

With bonus:

data a;k='CABBDCABECDBACDBEAACADDBBBEDDA';r='CABEDDABDC BACDBBAADE  CBBEDDA';c=0;b=0;w=0;if length(k) ne 30 then put "Invalid test";do i=1 to 30;if substr(k,i,1)=substr(r,i,1) then c=c+1;else if substr(r,i,1) =' ' then b=b+1;else w=w+1;end;a=cat(c*4-w,' (',c,'R ',b,'B ',w,'W)');put a;run;

Without bonus:

data a;k='CABBDCABECDBACDBEAACADDBBBEDDA';r='CABEDDABDC BACDBBAADE  CBBEDDA';c=0;if length(k) ne 30 then put "Invalid test";do i=1 to 30;if substr(k,i,1)=substr(r,i,1) then c=c+4;else if substr(r,i,1)ne' ' then c=c-1;end;put c;run;

Sas does not really have an input/output, so you would need to replace the k='..' with the key, and r='..' with the response. The output is printed to the log.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.