2017-05-07 4 views
1

5つの数字を入力するように要求するプログラムを作成し、これらの数字の中で最も小さい数字となります。以下のように、例えば数のユーザーの種類は2456 457 13 999 35出力がされる場合: の最大数が最小数はユーザーに5つの数字を入力するように指示するプログラムを作成します。これらの数字のうち最大の数字と最小の番号を出力します。

a = input() 
first = int(a) 
b = input() 
second = int(b) 
c = input() 
third = int(c) 
d = input() 
fourth = int(d) 
if a > b or a > c or a > d: 
    print ('the larges number' + a) 
elif a < b or a < c or a < d: 
    print ('the smallest number' +a) 
elif b > a or b > c or b > d: 
    print ('the larges number' + b) 
elif b < a or b < c or b < d: 
    print ('the smallest number is' + b) 
elif d > a or d > b or d > c: 
    print ('the biggest number is' + d) 
elif d < a or d < b or d < c: 
    print ('the smallest numbet is'+ d) 
else: 
Pythonで35

で2456 ある

私が思いつきましたこのアイデアを、私はそれが正しく

数字をうまくいくと思ういけない、それはこれらの数字とこの数字の最小の最大

を出力します。私はこの例にこの後しかし

num = 0 

while num < 100: 

num = num + 5 

print(str(num)) 

print(’Done looping!’) 

を持って、私のモジュールのハンドブックで

、どのように私は疑問を解決しないのさらなる説明がありません。手伝っていただけませんか ?

私はwhileループを使用して質問トラフを解決する必要があります。 私はプログラミングに非常に新しいです、助けてください。

+0

あなたの宿題を自分でやってください。それはスタックオーバーフローが原因ではありません。 –

+0

親愛なるパトリック、私はそれをする方法がわかりません 私は親切に助けを求めているのですが、私は自分自身のためにプログラミングを学んでいます @PatrickHund –

+0

少なくともお手伝いをしてください。コードを記述してください。問題に遭遇したときにコードを投稿し、問題を説明してください。がんばろう! –

答えて

2

あなたがループ内でinputをすることによってそれを解決してから表示するように組み込みminとmaxの機能を使用することができます最大と最小:

loopcount = 0 
largest = -float('inf') # smallest possible value 
smallest = float('inf') # largest possible value 
while loopcount < 5: 
    loopcount = loopcount + 1 

    given = input() 
    given_as_integer = int(given) 

    # Compare to the current smallest and largest value 
    if given_as_integer < smallest: 
     smallest = given_as_integer 
    if given_as_integer > largest: 
     largest = given_as_integer 

print('the largest number is', largest) 
print('the smallest number is', smallest) 

inputs = [int(input()) for _ in range(5)] 
print(min(inputs), max(inputs)) 

ちょうどカウンターを使用している場合には、あなたがwhileループを必要とするようです

+0

答えをありがとうございます。 @MSeifert、あなたは私にそれを以下のようにすることができますか教えてください?私は本当にこのように理解する必要があります。 私は運動のトム NUMにこの例を持っている= 0 しばらくNUM <100: NUM = NUM​​ + 5 プリント(STR(数値)) プリント( '!ルーピング完了') –

+1

@ stefans私は理解していない、whileループをしたいですか?問題はそのようなことを特定しなかった。すべての要件を含む質問を編集することを検討することをお勧めします。 – MSeifert

+0

親愛なる@MSeifert、私は私の質問を編集しました。助けてください。 –

1

これはあまりにも多くのコードをせずに、それを行うには良い方法であり、ユーザはspaceと数字を区切る必要があります。

a, b, c, d = map(int, input().split()) 
print("Largest number is {}".format(max(a, b, c, d))) 
print("Smallest number is {}".format(min(a, b, c, d))) 

mapを使用して数値にそれを破るだろうintsplit()にすべてinputを変更しますspaceを区切り文字として使用します。

maxは、配列a, b, c, dの最大値を返します。minは、同じ配列の最小値になります。

あなたがループに行きたい場合は、これはそれを行うための一つの方法である:

a, b, c, d = map(int, input().split()) 
myNumbers = [a, b, c, d] 
minimum = False 
maximum = False 

for number in myNumbers: 
    if not (minimum and maximum): 
     minimum, maximum = number, number 
    elif number < minimum: 
     minimum = number 
    elif number > maximum: 
     maximum = number 

print("Largest number is {}".format(maximum)) 
print("Smallest number is {}".format(minimum)) 
+0

親愛なる@zipaあなたは私にループを使ってそれをどうやって説明してくれますか? –

+1

@stefansループでこれを行う方法を1つ追加しました – zipa

0

私はこれがあなたの後の答えであり、楽しんで、幸運であると信じています。

loopnumber = 0 
while loopnumber <=4: 
    print('please insert 5 numbers: ', end='') 
    num = input() 
    loopnumber = loopnumber + 1 
    if loopnumber != 1: 
     if int(num) < int(smallest): 
      smallest = num 
     else: 
      smallest = smallest 
    if loopnumber != 1: 
     if int(num) > int(largest): 
      largest = num 
     else: 
      largest = largest 
    else: 
     smallest = num 
     largest = num 
print ('Done looping, smallest number is ' + str(smallest) + ", largest number is " +" "+ str(largest)) 
関連する問題