He escrito este código para imprimir una nueva línea después de terminar de proporcionar información en una línea ... así que algo como esto

netM = ''

while True:
    line = raw_input()
    if not line: break

    netM += ''  + line
    netMs = netM.replace('.', '')
print("\n" + netMs + " = " + netMs + " or " + netM + "\n")

Digamos que entro,

Pause.now

Saldrá ...

Pausenow = Pausenow or Pause.now

Pero quiero hacer muchas líneas a la vez, así que haría esto ...

Pausenow = Pausenow or Pause.now
Pausenow1 = Pausenow1 or Pause.now1
Pausenow2 = Pausenow2 or Pause.now2

Si entro

Pause.now
Pause.now1
Pause.now2

Y así sucesivamente.

Pero en cambio hace esto.

pauseNowpauseNow1pauseNow2 = pauseNowpauseNow1pauseNow2 or pause.Nowpause.Now1pause.Now2
-2
user5829151 12 may. 2016 a las 20:03

3 respuestas

La mejor respuesta

Esto sucede porque raw_input () está tomando la entrada como una sola cadena.

También estaba agregando la línea ingresada a la nueva variable M para cada entrada ingresada. Debe estar dentro para el bucle. Defina algún otro punto de interrupción en lugar de la 'nueva línea' predeterminada.

Aquí he usado el punto de interrupción como "" es decir, una cadena vacía. Ahora este ciclo se romperá cuando ingrese una cadena vacía.

breakpoint = ""
while True:
    line = raw_input()
    if line.strip() == breakpoint:
        break
    netM = line
    netMs = netM.replace('.', '')
    print("\n" + netMs + " = " + netMs + " or " + netM + "\n")
0
Tanu 12 may. 2016 a las 17:31

Necesita imprimir la línea para cada iteración del ciclo; de lo contrario, seguirá agregando nuevas líneas a la anterior, solo mueva su declaración de impresión dentro del ciclo while también para el resultado deseado no agregue líneas en la variable netM

netM = ''

while True:
    line = raw_input()
    if not line: break

    netM = ''  + line
    netMs = netM.replace('.', '')
    print(netMs + " = " + netMs + " or " + netM + "\n")
1
sid 12 may. 2016 a las 17:15

En mi opinión, debe agregar la cadena única a la cadena principal (netM) dividida por '\n' e imprimir la cadena principal completa, una vez mientras el bucle está roto.

netM = ''

while True:
    line = raw_input()
    if not line:
            break

    netMs = line.replace('.', '')
    netM += netMs + ' = ' + netMs + ' or ' + line + '\n'

print netM
0
Tanvir Hossain Bhuiyan 12 may. 2016 a las 17:33