Chạy lại con trăn

Thử thách này lấy cảm hứng từ câu chuyện về nhà toán học Carl Friedrich Gauss. Chuyện kể rằng, khi Gauss còn học tiểu học, một ngày nọ, giáo viên của anh ấy đã nổi giận với cả lớp.

"Tôi sẽ khiến các bạn bận rộn một lúc", giáo viên nghiêm khắc nói với cả nhóm. "Bạn phải cộng các số từ 1 đến 100, và bạn không được nói một lời nào cho đến khi bạn làm xong. "

Giáo viên mong đợi một khoảng thời gian yên tĩnh, nhưng một lúc sau, nhà toán học tương lai của chúng ta đã giơ tay với câu trả lời. "Là 5050. " Gauss đã nhận ra rằng nếu bạn liệt kê tất cả các số từ 1 đến 100, bạn luôn có thể khớp số đầu tiên và số cuối cùng trong danh sách và nhận được một câu trả lời chung

1, 2, 3, ..., 98, 99, 100
1 + 100 = 101
2 + 99 = 101
3 + 98 = 101

Gauss nhận ra có đúng 50 cặp số trong phạm vi từ 1 đến 100 nên ông đã làm một phép tính nhanh. 50 * 101 = 5050

piipecek
Nuốt không tải

Bài đăng. 1

Chủ đề. 1

Đã tham gia. Tháng 12 năm 2016

Danh tiếng. 0

#1

18-Dec-2016, 09. 49 AM (Bài đăng này đã được sửa đổi lần cuối. 18-Dec-2016, 10. 34 giờ sáng bởi Yoriz. )

Xin chào,
Tôi đã tạo một chương trình cho phỏng đoán đối chiếu, về cơ bản.
dừng khi n=1
nếu n chia hết cho 2 = chia hết cho 2
nếu n không = 3* .
nó đây.

print 'Write a number, then press Enter, I will show you the way to 1!'
n=int(input('Enter here:'))
Steps = 0
while 1>0:
    if n == 1:
        print '1'
        break
    remainder = n % 2
    if remainder == 0:
        print n
        n = n/2
    if remainder == 1:
        print n
        n = n*3+1
    Steps = Steps+1
answer = str('=== it took')
answer2 = str('steps to get to 1 ===')
print answer, Steps, answer2
ok, nhưng khi nó kết thúc, trong shell nó dừng lại với >>>, nơi tôi có thể đọc đầu ra.
nếu lưu thì sau khi kết thúc chương trình sẽ đóng cửa sổ ngay. có cách nào cho nó chạy lại ko

Đáp lại

Tìm thấy

Đáp lại

Larz60+
aetate et sapientia

Chạy lại con trăn

Bài viết. 11.490

Chủ đề. 437

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 442

#2

18-Dec-2016, 10. 23 AM (Bài đăng này đã được sửa đổi lần cuối. 18-Dec-2016, 10. 26 giờ sáng bởi Larz60+. )

Có vẻ như bạn đang nhập trực tiếp vào trình thông dịch.
Bạn có thể tải xuống IDE miễn phí và viết chương trình của mình từ bên trong.
Nếu làm vậy, bạn có thể chạy bằng cách nhấn nút chạy.

Tôi khuyên bạn nên tìm 'python ide' trên Google

Cá nhân tôi thích PyCharm. Có sẵn phiên bản cộng đồng và nếu bạn thực sự
thích nó, phiên bản thương mại có sẵn với một khoản phí hàng năm.

Bạn có thể chạy phiên bản cộng đồng một cách hoàn hảo mà không cần chuyển đổi.
bạn có thể tải tại đây

Bạn đang chạy hệ điều hành nào?
trên nền tảng nào (nếu là Linux)


Normally from a command line (or terminal), you would type: python mysavedname.py to run your saved program

Đáp lại

Tìm thấy

Đáp lại

sparkz_alot
Da Bishop

Chạy lại con trăn

Bài đăng. 1.298

Chủ đề. 38

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 30

#3

18-Dec-2016, 01. 39 giờ tối

Bạn có thể thử đặt mã của mình trong câu lệnh 'thử/ngoại trừ', sau đó mã sẽ chạy liên tục cho đến khi đáp ứng một điều kiện nhất định.

Xin hỏi bạn đang dùng python 2 hay python 3?

Nếu nó không bị hỏng, chỉ là tôi chưa làm được.
HĐH. Windows 10, mởSuse 42. 3, freeBSD 11, Raspian "Stretch"
Python 3. 6. 5, IDE. Phiên bản cộng đồng PyCharm 2018

Đáp lại

Tìm thấy

Đáp lại

đoạn trích

Chạy lại con trăn

Bài đăng. 6.494

Chủ đề. 115

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 483

#4

18-Dec-2016, 02. 40 PM (Bài đăng này đã được sửa đổi lần cuối. 18-Dec-2016, 02. 40 giờ tối bởi snippsat. )

Sử dụng các chức năng, một chức năng menu chạy i một vòng lặp.
Bạn luôn quay lại chức năng này,
chức năng này hỏi bạn muốn chạy lại hay thoát.
Ví dụ.

def calc():
    print 'Write a number, then press Enter, I will show you the way to 1!'
    n = int(raw_input('Enter here:'))
    Steps = 0
    while 1 > 0:
        if n == 1:
            print '1'
            break
        remainder = n % 2
        if remainder == 0:
            print n
            n = n / 2
        if remainder == 1:
            print n
            n = n * 3+1
        Steps = Steps + 1
    answer = '=== it took'
    answer2 = 'steps to get to 1 ==='
    return answer, Steps, answer2

def show_options():
     print('\n1. Run way to 1!')
     print('(q) Quit\n')

def menu():
    while True:
        show_options()
        choice = raw_input('Enter your choice: ').lower()
        if choice == '1':
             calc()
        elif choice == 'q':
            return False
        else:
            print('Not a correct choice: {}'.format(choice))

menu()

Đáp lại

Tìm thấy

Đáp lại