Tin học Mọi người giúp em bài này với ạ

Asiak

Học sinh mới
Thành viên
25 Tháng mười 2022
9
4
6
18
Thanh Hóa
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Viết chương trình yêu cầu người dùng nhập liên tiếp các số nguyên dương và nhỏ hơn 1000 cho đến khi người dùng nhập -1 thì dừng lại, in ra số lớn nhất và nhỏ nhất trong dãy (giá trị -1 không tính là phần tử trong dãy số). Giả thiết rằng người dùng luôn nhập ít nhất 1 số trước khi nhập -1 (Viết bằng ngôn ngữ python)
 

light_senpai

Học sinh
Thành viên
16 Tháng chín 2019
46
41
21
TP Hồ Chí Minh
NTMK
Em phải biết flow của chương trình trước. Đây là 1 cách làm:

Python:
"""
FLOW:

┌─────────────────┐         
│      input      │         
└△─△─┬───────────┬┘         
 │ │ │          ┌▽─────────┐
 │ │ │          │is integer│
 │ │ │          └┬──┬──────┘
 │ │┌▽──────────┐│  │       
 │ ││not integer││  │       
 │ │└┬──────────┘│  │       
 │┌┴─▽─────┐┌────▽─┐│       
 ││warning!││ ≤ 0  ││       
 │└△───────┘└┬─┬───┘│       
 │┌┴─────────▽┐│    │       
 ││   ≠ -1    ││    │       
 │└───────────┘│    │       
 │┌────────────▽─┐  │       
 ││     = -1     │  │       
 │└┬─────────────┘  │       
 │┌▽─────────────┐  │       
 ││print MIN, MAX│  │       
 │└──────────────┘  │       
 │┌─────────────────▽─┐     
 ││        > 0        │     
 │└┬──────────────────┘     
┌┴─▽────────────┐           
│update MIN, MAX│           
└───────────────┘           

"""

def input_positive_integer():
    while True:
        try:
            input_ = int(input('Insert a positive integer: '))

        except:
            print('Your input was not an integer. Try again!')

        else:
            if input_ > 0:
                return input_

            else:
                if input_ != -1:
                    print('Your integer input was not positive. Try again!')
                else:
                    return input_


max_integer = 0
min_integer = 0
accept_input = True

while accept_input:
    user_input = input_positive_integer()

    if user_input > 0:
        max_integer = max(max_integer, user_input)
        min_integer = min(min_integer, user_input) if min_integer > 0 else user_input
    
    else:
        print('Maximum:', max_integer)
        print('Minimum:', min_integer)
        accept_input = False
 
  • Like
Reactions: Asiak
Top Bottom