Dificuldade em código Python

Desafio:


Cria um programa que determina se um número é positivo ou negativo. Imprime "P" se for >= 0 e "N" em caso contrário.
O programa deverá ler três números do utilizador e imprimir o teste para cada um deles.

Código:

Código:
numero1 = raw_input("numero1: ")
if int(numero1) >=0:
  print "P"
else:
  print "N"
numero2 = raw_input("numero2: ")
if int(numero2) >=0:
  print "P"
else:
  print "N"
numero3 = raw_input("numero3: ")
if int(numero3) >=0:
  print "P"
else:
  print "N"

O programa funciona bem, mas no site não aceita esta resposta. Porquê? Alguém faz ideia?

Mais dúvidas:

Desafio:

Cria um programa que imprima o valor da área do círculo de raio 3. Neste programa deves declarar duas variáveis: uma para o raio (com o valor 3) e outra para o Pi (com o valor 3.14).
(Relembramos que para calcular um expoente, usa-se **, da seguinte forma: 3^2 = 3**2 = 9)

O programa deverá imprimir a parte inteira do resultado.

Código:

Código:
r=3
Pi=3.14
area= (Pi*(r*r))//1
print area

Outro programa que funciona mas que não é aceite.

Alguém me pode ajudar? Obrigado desde já. :)
 
No 1º deve ser por estares a mandar para o output coisas que não foram pedidas, "numero1:", "numero2" e "numero3".
No 2º não estás a imprimir apenas a parte inteira.
 
A 1ª parece-me ser óbvia. Basta dares uns retoques no código. Se o entendes (e é suposto entenderes), então sabes exactamente o que fazer.
A 2ª, basta procurares a forma de obteres a parte inteira (integer part) de um número em Python.
 
Código:
num1 = raw_input()
num1 = int(num1)
if num1 >= 0:
    print "P"
else:
    print "N"
num2 = raw_input()
num2 = int(num2)
if num2 >=0:
    print "P"
else:
    print "N"
num3 = raw_input()
num3 = int(num3)
if num3 >=0:
    print "P"
else:
    print "N"

Código:
r=3
Pi=3.14
area= (Pi*(r*r))
print int(area)

Estava a pensar em obter o resultado arredondado às unidades (portanto o //1). Assim já deu bem.:009:

Obrigado pelas respostas. =)
 
Desafio:

Faz um programa que imprima:


1
2 2
3 3 3
.....
n n n n n n ... n

Para tal, cria uma função que receba o parâmetro n, definido pelo utilizador.

Nota: Os números da pirâmide estão separados por um único espaço.

Código:

Código:
n=raw_input()
n= int(n)
for i in range (0,n):
    i=i+1
    print (str(i)+" ")* i

Alguém me pode ajudar a resolver isto?
 
Última edição:
Precisas de dois ciclos, um para escrever cada linha e outro para escrever as várias linhas.
EDIT: Só vi agora que o print já está a imprimir o número de vezes necessário
 
Última edição:
Ele diz-te que range() recebeu uma string, portanto a variável que passaste ao range() é uma string. Vê bem porquê :P

edit - Aparício, a multiplicação de uma string por um inteiro n já faz a repetição da string n vezes, portanto o 2º ciclo não é necessário.
 
Back
Topo