Q:

Problema de maior e menor valor com while. ( Sem utilizar lista!) 

Escreva um programa que leia um número inteiro N e em seguida leia N 
 números reais, separando o menor e o maior, apresentando-os na tela. 
N = int(input("Digite N: "))
i = 0
ma = 'maior'
me = 'menor'
me = x
while i < N:
    x = float(input("Digite um número: "))
    ma = x
    me < ma
    i = i + 1
    if x > ma:
        ma = x
    if x < me:
        me = x
print ('O maior valor digitado foi {} e o menor foi {}'.format(ma,me))

No programa se pede para que o usuário digite um valor inteiro N para depois ler N números reais e, com isso, mostrar o menor e maior valor dentre aqueles.  A questão é que estou fazendo sem utilizar o método de lista. ( programação iniciante.)  Este código funciona em alguns testes, porém em outros não. 
Sei que o problema está na declaração de variavéis ou nas condições das funções if.  Porém não enxergo/consigo arrumar esses erros.  

A:

Seu código:
  1 N = int(input("Digite N: "))                                                                                                                                                                                                 
  2 i = 0                                                                                                                                                                                                                        
  3 ma = 'maior'                                                                                                                                                                                                                 
  4 me = 'menor'                                                                                                                                                                                                                 
  5 me = x                                                                                                                                                                                                                       
  6 while i < N:                                                                                                                                                                                                                 
  7     x = float(input("Digite um número: "))                                                                                                                                                                                   
  8     ma = x                                                                                                                                                                                                                   
  9     me < ma                                                                                                                                                                                                                  
 10     i = i + 1                                                                                                                                                                                                                
 11     if x > ma:                                                                                                                                                                                                               
 12         ma = x                                                                                                                                                                                                               
 13     if x < me:                                                                                                                                                                                                               
 14         me = x                                                                                                                                                                                                               
 15 print ('O maior valor digitado foi {} e o menor foi {}'.format(ma,me))

Considerações:

Nas linhas 3 e 4 você define as variáveis ma e me como strings, o que não faz sentido;
Já na linha 5 você coloca que me será igual à x, sendo que o objeto x nem está definido ainda;
Na linha 8, você define que sempre que for lido um novo número, o maior valor, ma, será igual a ele; por quê atualizar o valor de ma neste ponto? 
Na linha 9 existe uma expressão aleatória que simplesmente não fez sentido nenhum;
Na linha 11 você compara se o valor lido é maior que ma, mas como na linha 8 colocou que ma = x, eles sempre serão iguais e, por isso, a condição jamais será satisfeita;

Outras linhas que não comentei até fazem sentido, tais como a leitura de valor de N, o laço de repetição while, a leitura de x e a atualização do menor valor.