2016-06-23 8 views
0

Ich lerne Python für 2 Wochen. Also meine Frage ist, sagen wir, ich habe einen Taschenrechner erstellt. Wie kann ich die Nummer so oft hinzufügen wie der Nutzer mag?Python Wie man Zahlen so viel wie Benutzer likes

os.system("del *.pyc")  

print "Hello %s!" % ad 
print "---------------------------------------" 
print "     *Add" 
print "     *x Add (Dunno english)" 
print "     *Multiply" 
print "     *x Multiply (Look up)" 
print "     *Multiply by itself" 
print "     *math.sqrt" 
print "---------------------------------------" 

print "What u want? :)" 
choice = raw_input("Secimim= ") 

print "So you choose %s :)" % choice 
print "" 
print "redirecting..." 
time.sleep(3) 
os.system("cls") 
if secim.lower()=="add": 
    first=input("First number= ") 
    second=input("Second= ") 
    print "Result= " + str(add(first,second)) 
    os.system("pause") 

Rest von ihnen ist die gleiche Lassen Sie uns diesen Teil

print "Let's have your choice :)" 
secim = raw_input("Secimim= ") 
adsiz = (ad,secim) 
print "So you selected this :)" % adsiz 
print "" 
print "Redirecting..." 
time.sleep(3) 
os.system("cls") 
if secim.lower()=="add": 
    ilksayi=input("IFirst= ") 
    ikincisayi=input("Second= ") 
    print "Result= " + str(toplama(ilksayi,ikincisayi)) 
    os.system("pause") 
def toplama(x,y): 
    return x+y 

Dieser Teil

if secim.lower()=="add": 
     firstnumber=input("IFirst= ") 
     secondnumber=input("Second= ") 
     print "Result= " + str(add(ilksayi,ikincisayi)) 
     os.system("pause") 

Ich möchte es wie eine Schleife machen Englisch machen, dass es heißt:

Number=10 
Number = 26 
Number = 62 
... 

Und wenn Sie

eingeben
Number= (Blank) 

Es druckt das Ergebnis. Genau wie die Taschenrechner. Ich habe versucht, es mit Schleife, die bricht, wenn Benutzertypen beenden. Aber ich kann nicht so viel Variable deklarieren. Wie macht man automatische Variablen?

+0

eine Liste verwenden. Related reading: [Wie mache ich variable Variablen in Python?] (Http://stackoverflow.com/q/1373164/953482) – Kevin

+0

Sie Eingabe in die Liste – galaxyan

+0

Sie könnten daran interessiert sein, eine [Liste] (https://docs.python.org/2/tutorial/datastructures.html). Ich bin mir nicht sicher, was Sie unter "Variablen automatisch erstellen" verstehen. Ehrlich gesagt ist es wirklich ziemlich schwierig zu verstehen, ohne dass die Variablennamen Englisch sind. – Kupiakos

Antwort

0

Ich denke, dass Sie nach etwas ähnlichem suchen.

Python 2

num = '0' 
total = 0 
while True: #run loop until user enters something that is not a number 
    if not num.isdigit(): 
     break #at this point break out of the loop 
    total += int(num) #else add the number to the total (could be/* - +) 
    num = raw_input('Number:\t') 
print total #finally print the total 

Oder Sie könnten einen Ansatz mit Listen

nums = [] 
while True: 
    num = raw_input('Number: ') 
    if num.isdigit(): nums.append(int(num)) 
    else: break; 
print sum(nums) 
+0

Yeah Mann das sollte tun:) –

+0

@ Dr.UK wenn dies Ihre Frage beantwortet, vergessen Sie bitte nicht, es als Antwort zu akzeptieren. Prost –

0

verwenden Sie etwas bedeuten wie ...

def is_number(s): 
    try: 
     float(s) 
     return True 
    except ValueError: 
     return False 

number = 0 
input = raw_input('Number: ') 
while input != None and input != "": 
    if not is_number(input): 
     print "NaN" 
     continue 
    number += float(input) 
    input = raw_input('Number: ') 
print "Number = %s" % (number,) 

ich es getippt blind, so könnte es sein hoffentlich Fehler im Code, aber Sie die Drift

+1

Tippte es blindlings, sagst du? ;) http: // stackoverflow.com/questions/354038/how-do-i-check-wenn-ein-string-ist-eine-nummer-float-in-python –

+0

Ich wusste wirklich nicht wirklich. Ich habe viel in Python geschrieben und habe eine umfangreiche Codebasis, um davon zu schneiden und zu pausieren. Aber ich verstehe deinen Standpunkt zur is_number-Methode :-) – Ivonet

0

Try this:

#! python3 
# coding=utf-8 
"""Add a lot of numbers.""" 

def add_everything(): 
    """ """ 
    numbers = [] 
    while True: 
     print("Sum:", sum(numbers)) 
     s = input("Enter number(s) or just hit Return to quit:") 
     if not s: 
      break 
     for n in s.split(): 
      try: 
       number = float(n) 
      except ValueError: 
       print("That wasn't a number. Try again!") 
      else: 
       numbers.append(number) 
       print("added {} to {}".format(number, sum(numbers[:-1]))) 
      finally: 
       pass 

    print("That was fun!") 
    print("I remembered all your {} numbers:".format(len(numbers))) 
    for n in numbers: 
     print(" {:4.2f}".format(n)) 
    print("--------") 
    print(" {:4.2f}".format(sum(numbers))) 


if __name__ == '__main__': 
    add_everything() 

Beispiel:

Sum: 0 
Enter number(s) or just hit Return to quit:123 45.6 
added 123.0 to 0 
added 45.6 to 123.0 
Sum: 168.6 
Enter number(s) or just hit Return to quit:hello 
That wasn't a number. Try again! 
Sum: 168.6 
Enter number(s) or just hit Return to quit:-0.99 
added -0.99 to 168.6 
Sum: 167.60999999999999 
Enter number(s) or just hit Return to quit: 
That was fun! 
I remembered all your 3 numbers: 
123.00 
45.60 
-0.99 
-------- 
167.61 
Verwandte Themen