Tìm kiếm Blog này

Thứ Sáu, 30 tháng 10, 2015

My stories: Day 2 in codeing Python - range and list(range)

Ngày thứ 2 ngồi viết code cho một chương trình in ra màn hình dãy số từ 1 đến 100, với yêu cầu là số chia hết cho 3 được gán với ký tự Fizz, chia hết cho 5 gán với Buzz và chia hết cho 3 và 5 được gán là FizzBuzz.


Tôi bắt đầu với việc comment code và khai báo x:
#!source:media/root/Lyosen/python/tai lieu
# coding: utf-8
__author__ = "Lyosen"
# chương trình in 1 dãy số dùng lệnh for với điều kiện bội số của
# 3 | 5 |và 3 vs 5 lần lượt được thay thế bằng ký tự : Fizz | Buzz
# và FizzBuzz.
# Khai báo danh sách từ 1 đến 100
x = list(range(1, 101))

Tiếp theo là khối lệnh:
# Khối lệnh xử lý các điều kiện của chương trình:
# Tạo vòng lặp For để xử lý từng đối tượng trong x thỏa điều kiện của chương trình:
for i in range(0, 100):
if x[i] % 3 == 0 and x[i] % 5 == 0:
x[i] = "FizzBuzz"
elif x[i] % 3 == 0:
x[i] = "Fizz"
elif x[i] % 5 == 0:
x[i] = "Buzz"
print(x)

code nay tôi mắc 1 lỗi đó là không gán x[i] mà gán i. Nó có nghĩa như sau:
Ta có x = range(a,b) | [i]= 0 và [i+n]= b -(a+1) ==> sẽ cho giá trị x[i=0] = a và x[i+n= b - (a+1)] = b


  1. i sẽ nhận giá trị từ 0 đến  99 (do range(0,100) sẽ cho giá trị tương ứng là : 0 đến 100-(0+1)) và x[i] sẽ nhận giá trị từ x[0] = 1 đến x[99]= 100 (do yêu cầu là x nhận khoản giá trị từ 1 đến 100 nên khai báo x = list(range(1,101)) )

  2. x[i] sẽ so sánh điều kiện if và cho ra kết quả.


Vậy là mất 2 3 ngày với khối code này.. cuối cũng nó cũng ok, với tiêu chí là: gặp bug mà fix hoài ko ra thì đứng dậy đi ra khỏi màn hình ngay và luôn ^^...

Không có nhận xét nào:

Đăng nhận xét