View Single Post
Sitat av snippsat Vis innlegg

Kode

#2
import urllib
import re

site = urllib.urlopen('http://www.myip.no/').read()
re.findall('\d{2,3}.\d{2,3}.\d{2,3}.\d{2,3}',site)[0]
Vis hele sitatet...
Skal vi se om jeg som ikke programmerer i Python klarer å forklare dette riktig da...

Du 'laster' ned kildekoden fra www.myip.no og lagrer denne i variabelen 'site'.
Etter dette bruker du regulære uttrykk for å hente ut alle forekomster ( re.findall() henter vel alt den finner, og ikke bare det første treffet) av tall som har fra 2 til 3 siffer og som også er avskilt ved hjelp av punktum.

Det du tilslutt står igjen med er IP-adressen til den personen som kjører denne kodesnutten.

Jeg nevner igjen at jeg ikke programmerer i Python, så det skal ikke forundre meg om jeg har misforstått noe av kodesnutten



Her er min kodesnutt. Dette kan garantert skrives på en 'vakrere' måte - noe jeg forsåvidt håper noen tar seg tid til å gjøre

Språk: C++

Kode

#include <iostream>
#include "windows.h"

using std::cout;
using std::endl;

char easy[9] = {102,114,101,97,107,46,110,111};


void F(char A[], char T[]);

int main()
{
	char testInput[] = "9.ku3l,x";

	F(testInput, easy);
	cout << "Final output: " << testInput << endl;


	return 0;
}

void F(char A[], char T[])
{
	int x = 0;

	while(A[x] != NULL) 
	{
		if(A[x] > T[x]) {
			*(A + x) -= 1;
			cout << A << endl;
			Sleep(30);
		}
		else if (A[x] < T[x]) {
			*(A + x) += 1;
			cout << A << endl;
			Sleep(30);
		}
		else {
			x++;
		}
	}
	cout << endl;
}

Til deg som tenker å compile og kjøre koden før du analyserer den: Vent 2 minutter, og bruk de to minuttene på å se om du skjønner hva som foregår.
Det finnes i allefall et stort hint i selve kodesnutten.