2015-10-02 11 views
11

Quindi, recentemente sono entrato in programmazione in python e ho deciso di creare un codice semplice che eseguiva alcune semplici operazioni matematiche, ad esempio calcolando l'angolo mancante in un triangolo e altre cose semplici come quella. Dopo aver realizzato il programma e alcuni altri, ho pensato che forse altre persone che conosco potessero usarlo, così ho deciso di provare a renderlo il più semplice possibile. Il codice può essere trovata qui sotto:Un semplice comando di loop In Python

a = int(input("What's one of the angles?")) 
b = int(input("What's the other angle in the triangle?")) 
c = (a + b) 
d = 180 
f = int(180 - c) 
print(f) 

Il codice stesso funziona, ma, l'unico problema è che se si dispone di più di 1 domanda, diventa noioso e un compito piuttosto ingombrante per caricare costantemente Python e premere F5 quindi, la mia idea era di farla scorrere un numero infinito di volte fino a quando non decidessi di chiudere il programma. Ogni volta che ho provato a cercare un modo per farlo, per tutto il tempo True: le istruzioni erano per pezzi di codice più grandi e più complicati e con questo forse il mio quinto o decimo pezzo di codice, non riuscivo a capire alcuni dei codifica per questo.

Apprezzerei qualsiasi aiuto o consiglio su questo argomento perché sarebbe utile se qualcuno fosse disposto ad aiutare.

+0

That' while True: 'il suggerimento è giusto in the money. Per il tuo primo programma di loop puoi semplicemente aggiungerlo alla parte superiore del tuo programma e rielaborare tutto sotto. –

+1

'c = (a + b)' può essere semplicemente scritto come 'c = a + b' e' f = int (180 - c) 'può essere scritto come' f = 180 - c' –

+3

E 'd = 180 'può essere scritto come nulla dal momento che non è usato affatto dal programma :) –

risposta

7

Si potrebbe mettere il codice in una funzione, qualcosa come:

def simple(): 
    a = int(input("What's one of the angles?")) 
    b = int(input("What's the other angle in the triangle?")) 
    c = (a + b) 
    d = 180 
    f = int(180 - c) 
    print(f) 

e poi semplicemente digitare:

simple() 

ogni tempo di usarla.

+0

Grazie per l'idea, ma ricevo un errore che dice "atteso un blocco rientrato" con la variabile "a" che viene evidenziata. –

+1

È * necessario * essere rientrato come mostrato. L'indentazione è molto importante in Python (a differenza di altre lingue), quindi prima lo capisci meglio è. –

+0

Grazie per l'aiuto e sono grato che mi abbiate parlato di come indentare qualcosa mentre sto facendo semplici script in python. –

5

while True è sufficiente per questo script, perché abbandonarlo?

while True: 

    a = int(input("What's one of the angles?")) 
    b = int(input("What's the other angle in the triangle?")) 
    c = (a + b) 
    d = 180 
    f = int(180 - c) 
    print(f) 
+0

L'unico problema è che se provo a usare il comando True while, viene visualizzato un errore che dice "previsto un blocco rientrato" e la variabile "a" diventa evidenziata. –

+1

@RichardAutoglassPope ci si deve abituare alle regole di indentazione di python. python è chiaro perché non ci sono parentesi, e il prezzo è indentato. – LetzerWille

+0

Grazie per l'aiuto, sono riuscito a risolvere questo problema ora. –

14
while True: 
    a = int(input("What's one of the angles?" + '\n')) 
    b = int(input("What's the other angle in the triangle?"+ '\n')) 
    c = (a + b) 
    f = int(180 - c) 
    print(f) 
    if input("Would you like to do another? 'y' or 'n'"+ '\n').lower() == 'y': 
     pass 
    else: 
     break 

Si può solo chiedere se vogliono andare di nuovo. y riavvierà il ciclo, n terminerà. Lo .lower() è nel caso in cui digiti Y o N.

Come @ Two-BitAlchemist menzionato d=180 non è necessario.

+0

Grazie per l'aiuto, ma è lo stesso problema ricorrente degli altri, ricevo un errore che dice "blocco atteso e rientrato" con la variabile "a" che viene evidenziata. –

+0

Simpy assicurati che il rientro sia corretto. 4 spazi in python o una scheda. Che IDE stai usando? Di solito lo fanno per te. – Leb

+1

@RichardAutoglassPope copia e incolla il problema? – CivFan