2016-03-22 33 views
-4

Talimatlar: Programın kullanıcıdan bir numara sorması gerekir. Örneğin "5". Program, 15 sayısını 1 + 2 + 3 + 4 + 5 = 15 olarak verir. Python. Girdiyi kullanma ve

Ben bir acemi değilim ve başında şaşırıp:

n = (input("Insert a number: ")) 

while n != 0: 

+0

bana ödev gibi geliyor. – MarkyPython

cevap

0
n = int(input("Insert a number: ")) 
nums = range(1,n+1) 
print sum(nums) 

:

n = int(input("Insert a number: ")) 
sum =0 
while n>0: 
    sum+=n 
    n-=1 
print sum 
+0

Çok teşekkür ederim. bana :) "while" kullanmam gerekti. Belki de "while" hattı ile yolu biliyor musun? –

+0

da bunu yaparken yapabilirsiniz. Fakat python, tam olarak bu amaç için, bir süre gibi bazı döngü prosedürlerinde çalışan dahili bir fonksiyon toplamına sahiptir. Her şeyi tekrar uygulamak yerine, toplamı kullanması daha kısa. – Krishh

+0

Aslında, evet, bunu kullanamayacağım :(Ama yine de teşekkürler :) –

-2

Eğer piton 3 veya 2 kullanıyor musunuz ileri ne yapacağını Lütfen bana yol? Python2'de raw_input önerilir.

Temelde tek ihtiyacınız sayısal değere dizeyi dönüştürmek için ...

inp = input("number: ") 
try: 
    n = int(inp) 
except ValueError: 
    print("Please give me a number") 
    sys.exit(1) 
+0

Python 2'yi kullanıyorum. Fakat şey şu ki "while" komutunu kullanmam gerekiyor: S –

2

Böyle yapabilirsiniz:

num = int(input("Choose a number: ")) 
total = sum(range(num + 1)) 

bunu bir while döngü kullanarak yapmak zorunda kalırsanız Bu şekilde yapabilirsiniz:

0

Belki bu gibi bir şey kullanabilirsiniz de:

try: 
    nr_in = int(input("Enter some number: ")) 
    nr_out = 0 
    tmp = 0 
    while tmp < nr_in: 
     tmp += 1 
     nr_out += tmp 
    print(nr_out) 
except: 
    print("This is not a number!") 

Bu değil en kısa ve en pythonic yoldur, ama ben sizin için anlamak daha kolay olabileceğini düşünüyorum.

Bu yardımcı olur umarız! Eğer while döngü ile aynı şeyi yapmak istiyorum

+0

Lütfen downvoterler neyin yanlış olduğunu açıklayabilir mi? – linusg

+0

Reddetmedim ama bunun çözümün, söylediğim gibi, pythonik ve çok uzun olmadığı için varsayıyorum. Gareth Webber'in cevabı çok daha iyi. – MarkyPython

+0

Neredeyse aradığım şey bu. Sadece bir şey var. Numarayı girdiğimde, 1-5 arası sayıları gösterir ve sonra bunu toplar. Sadece toplamı göstermesi gerekiyor. Teşekkürler! –

İlgili konular