Nhập một số n có tối đa 2 chữ số hay cho biết cách đọc ra dạng chữ Python

In ra cách đọc của một số nguyên dương có hai chữ số bằng C / C++

Trong bài viết này chúng ta sẽ thực hiện chương trình in ra cách đọc của một số nguyên dương có hai chữ số bằng C / C++.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Mình sẽ thực hiện hai chương trình bằng hai ngôn ngữ khác nhau là C và C++, vì vậy các bạn cần có kiến thức cơ bản về hai ngôn ngữ này nhé.

Nhập số trong python


29 tháng 6 ,2021

Hướng dẫn cách nhập số trong python. Bạn sẽ học được tất cả các cách nhập số trong python trong python sau bài học này.

Chúng ta có 3 phương pháp để nhập số trong python như sau:

  • int(input()) trong python: nhập số nguyên trong python
  • float(input()) trong python: nhập số thực trong python
  • vòng lặp for hoặc While True: nhập dãy số từ bàn phím python

Ngoài ra, bạn cũng có thể tìm hiểu thêm cách nhập chuỗi và list trong python tại bài viết Nhập chuỗi và list trong python.

Các cấp độ bài tập Python

Bài này cung cấp cho bạn danh sách các bài tập Python có lời giải ở các cấp độ khác nhau để bạn thực hành khi học ngôn ngữ lập trình C:

  1. Bài tập Python kinh điển.
  2. Bài tập Python cơ bản.
  3. Bài tập vòng lặp trong Python.
  4. Bài tập Python về mảng một chiều và mảng 2 chiều (ma trận).
  5. Bài tập chuỗi trong Python.
  6. Bài tập Python về đệ quy.
  7. Bài tập Python về các thuật toán sắp xếp.
  8. Bài tập Python về đọc ghi file.

I. Bài tập Python mức độ 1

1. Character Input

  • Đề bài: Tạo một chương trình yêu cầu người dùng nhập tên và tuổi của họ. Gửi lại họ một tin nhắn cho biết năm họ sẽ tròn 100 tuổi.
  • Lời giải:
name = input("What is your name: ")
age = int(input("How old are you: "))
year = str((2020 - age) + 100)
print(name + " will be 100 years old in the year " + year)

2. List Ends

  • Đề bài: Viết chương trình lấy một list các con số (Ví dụ: a = [2, 4, 6, 8, 10]) và tạo một list mới chỉ gồm các phần tử đầu tiên và cuối cùng của list đã cho. Lưu ý: Viết code này bên trong một hàm.
  • Lời giải:
def list_ends(arr):
return [arr[0], arr[-1]]

3. Birthday Dictionaries

  • Đề bài: Đây là một bài tập giúp chúng ta theo dõi ngày sinh của bạn mình và có thể tìm thấy thông tin đó dựa trên tên của họ. Hãy tạo một Dictionary (Bộ từ điển) gồm tên và ngày sinh trong file của bạn. Khi chương trình chạy, nó sẽ yêu cầu người dùng nhập tên và trả lại đúng ngày sinh của người đó cho họ. Tương tác có thể được hình dung như sau:

>>> Welcome to the birthday dictionary. We know the birthdays of:

Albert Einstein

Bill Gates

Steve Jobs

>>> Who's birthday do you want to look up?

Bill Gates

>>> Bill Gates's birthday is 28/10/1955

  • Lời giải:
birthdays = {
'Albert Einstein': '03/14/1879',
'Benjamin Franklin': '01/17/1706',
'Ada Lovelace': '12/10/1815',
'Donald Trump': '06/14/1946',
'Rowan Atkinson': '01/6/1955'
}print('Welcome to the birthday dictionary. We know the birthdays of:')
for name in birthdays:
print(name)print('Whose birthday do you want to look up?')
name = input()
if name in birthdays:
print(f'{name}\'s birthday is {birthdays[name]}')
else:
print(f'Sadly, we don\'t have {name}\'s birthday.')

4. Element Search

  • Đề bài:Viết một hàm nhận một list các số có sắp xếp thứ tự từ nhỏ đến lớn và một số khác. Hàm đó sẽ xác định xem số đã cho có nằm trong list hay không và trả về, in ra một Boolean thích hợp. Yêu cầu sử dụng Binary Search (tìm kiếm nhị phân).
  • Lời giải:
def iterative_binary_search(ordered_list: list, number): """Implement binary search with while loop""" left = 0 right = len(ordered_list) - 1 while left <= right: middle = left + (right - left) // 2 if ordered_list[middle] == number: return True elif number < ordered_list[middle]: right = middle - 1 else: left = middle + 1 return False def recursive_binary_search(ordered_list: list, number): """ Implement binary search recursively Concepts: - Recursion - List indexing and slicing Downside: - Using list slicing costs more memory """ if len(ordered_list) == 0: return False if len(ordered_list) == 1: return ordered_list[0] == number if number < ordered_list[0] or number > ordered_list[-1]: return False middle = len(ordered_list) // 2 if ordered_list[middle] == number: return True elif number < ordered_list[middle]: return binary_search_recursive(ordered_list[:middle], number) else: return binary_search_recursive(ordered_list[middle + 1:], number)

Bài tập Python thú vị lên đến hơn 100 ví dụ có code mẫu

12 tháng 07, 2019 - 11498 lượt xem

Hơn 100 bài tập Python kèm code mẫu được anh chàng zhiwehu chia sẻ trên Github, tuy nhiên, code mẫu của loạt bài tập này được viết trên phiên bản Python đã cũ. BảnViệt hóa và chỉnh sửa để phù hợp với bản Python 3.x giúp các bạn tiện học và luyện tập Python.

Lưu ý: Các code mẫu trong bài được viết trên Python 3.6.2, nếu bạn đang sử dụng phiên bản Python từ 2.5 trở xuống có thể không chạy được code vì trong bản Python mới nhiều lệnh, hàm đã được thay đổi.

Mỗi bài tập Python trong trang này sẽ gồm có 3 phần như sau:

  • Câu hỏi.
  • Gợi ý.
  • Code mẫu.

Bài 01:

  • Câu hỏi :

Viết chương trình tìm tất cả các số chia hết cho 7 nhưng không phải bội số của 5, nằm trong đoạn 2000 và 3200 (tính cả 2000 và 3200). Các số thu được sẽ được in thành chuỗi trên một dòng, cách nhau bằng dấu phẩy.

  • Gợi ý :

Sử dụng range(#begin, #end)

  • Code mẫu :
j=[] for i in range(2000, 3201): if (i%7==0) and (i%5!=0): j.append(str(i)) print (','.join(j))

Bài 02 :

  • Câu hỏi :

Viết một chương trình có thể tính giai thừa của một số cho trước. Kết quả được in thànhchuỗitrên một dòng, phân tách bởi dấu phẩy. Ví dụ, số cho trước là 8 thì kết quả đầu ra phải là 40320.

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được cung cấp, bạn hãy chọn cách để người dùng nhập số vào.

  • Code mẫu :
  • x=int(input("Nhập số cần tính giai thừa:")) def fact(x): if x == 0: return 1 return x * fact(x - 1) print (fact(x))

Bài 03 :

  • Câu hỏi :

Với số nguyên n nhất định, hãy viết chương trình để tạo ra mộtdictionarychứa (i, i*i) như là số nguyên từ 1 đến n (bao gồm cả 1 và n) sau đó in ra dictionary này. Ví dụ: Giả sử số n là 8 thì đầu ra sẽ là:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64}.

  • Gợi ý :

Viết lệnh yêu cầu nhập số nguyên n.

  • Code mẫu :
n=int(input("Nhập vào một số:")) d=dict() for i in range(1,n+1): d[i]=i*i print (d)

Bài 04:

  • Câu hỏi :

Viết chương trình chấp nhận một chuỗi số, phân tách bằng dấu phẩy từ giao diện điều khiển, tạo ra một danh sách và một tuple chứa mọi số.

Ví dụ: Đầu vào được cung cấp là34,67,55,33,12,98 thì đầu ra là:

['34', '67', '55', '33', '12', '98']
('34', '67', '55', '33', '12', '98')

  • Gợi ý :

Viết lệnh yêu cầu nhập vào các giá trị sau đó dùng quy tắc chuyển đổi kiểu dữ liệu để hoàn tất.

  • Code mẫu :
values=input("Nhập vào các giá trị:") l=values.split(",") t=tuple(l) print (l) print (t)

Bài 05:

  • Câu hỏi :

Định nghĩa một class có ít nhất 2 method:

getString: để nhận một chuỗi do người dùng nhập vào từ giao diện điều khiển.

printString: in chuỗi vừa nhập sang chữ hoa.

Thêm vào các hàm hiểm tra đơn giản để kiểm tra method của class.

Ví dụ: Chuỗi nhập vào là quantrimang.com thì đầu ra phải là:QUANTRIMANG.COM

  • Gợi ý :

Sử dụng __init__ để xây dựng các tham số.

  • Code mẫu :
class InputOutString(object): def __init__(self): self.s = "" def getString(self): self.s = input("Nhập chuỗi:") # Code by Quantrimang.com def printString(self): print (self.s.upper()) strObj = InputOutString() strObj.getString() strObj.printString()

Bài 06:

  • Câu hỏi :

Viết một method tính giá trị bình phương của một số.

  • Gợi ý :

Sử dụng toán tử **.

  • Code mẫu :
x=int(input("Nhập một số:")) #nhập số cần tính bình phương từ giao diện def square(num): #định nghĩa bình phương của một số return num ** 2 # Code by Quantrimang.com print (square(2)) #in bình phương của 2 print (square(3)) #in bình phương của 3 print (square(x)) #in bình phương của x

Bài 07:

  • Câu hỏi :

Python có nhiều hàm được tích hợp sẵn, nếu không biết cách sử dụng nó, bạn có thể đọc tài liệu trực tuyến hoặc tìm vài cuốn sách. Nhưng Python cũng có sẵn tài liệu về hàm cho mọi hàm tích hợp trong Python. Yêu cầu của bài tập này là viết một chương trình để in tài liệu về một số hàm Python được tích hợp sẵn nhưabs(), int(), input() và thêm tài liệu cho hàm bạn tự định nghĩa.

  • Gợi ý :

Sử dụng __doc__

  • Code mẫu :
print (abs.__doc__) print (int.__doc__) print (input.__doc__) # Code by Quantrimang.com def square(num): '''Trả lại giá trị bình phương của số được nhập vào. Số nhập vào phải là số nguyên. ''' return num ** 2 print (square.__doc__)

Bài 08:

  • Câu hỏi :

Định nghĩa một lớp gồm có tham số lớp và có cùng tham số instance

  • Gợi ý :

Khi định nghĩa tham số instance, cần thêm nó vào __init__

Bạn có thể khởi tạo một đối tượng với tham số bắt đầu hoặc thiết lập giá trị sau đó.

  • Code mẫu :
class Person: # Định nghĩa lớp "name" name = "Person" # Code by Quantrimang.com def __init__(self, name = None): # self.name là biến instance self.name = name jeffrey = Person("Jeffrey") print ("%s name is %s" % (Person.name, jeffrey.name)) nico = Person() nico.name = "Nico" print ("%s name is %s" % (Person.name, nico.name))

Bài 09:

  • Câu hỏi :

Viết chương trình và in giá trị theo công thức cho trước: Q =√([(2 * C * D)/H]) (bằng chữ: Q bằng căn bậc hai của [(2 nhân C nhân D) chia H]. Với giá trị cố định của C là 50, H là 30. D là dãy giá trị tùy biến, được nhập vào từ giao diện người dùng, các giá trị của D được phân cách bằng dấu phẩy.

Ví dụ: Giả sử chuỗi giá trị của D nhập vào là 100,150,180 thì đầu ra sẽ là 18,22,24.

  • Gợi ý :

Nếu đầu ra nhận được là một số dạng thập phân, bạn cần làm tròn thành giá trị gần nhất, ví dụ 26.0 sẽ được in là 26.

Trong trường hợp dữ liệu đầu vào được cung cấp cho câu hỏi, nó được giả định là đầu vào do người dùng nhập từ giao diện điều khiển.

  • Code mẫu :
#!/usr/bin/env python import math c=50 h=30 value = [] items=[x for x in input("Nhập giá trị của d: ").split(',')] for d in items: value.append(str(int(round(math.sqrt(2*c*float(d)/h))))) # Code by Quantrimang.com print (','.join(value))

Bài 10:

  • Câu hỏi :

Viết một chương trình có 2 chữ số, X, Y nhận giá trị từ đầu vào và tạo ra một mảng 2 chiều. Giá trị phần tử trong hàng thứ i và cột thứ j của mảng phải là i*j.

Lưu ý: i=0,1,...,X-1; j=0,1,...,Y-1.

Ví dụ: Giá trị X, Y nhập vào là 3,5 thì đầu ra là:[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]

  • Gợi ý :

Viết lệnh để nhận giá trị X, Y từ giao diện điều khiển do người dùng nhập vào.

  • Code mẫu :
input_str = input("Nhập X, Y: ") dimensions=[int(x) for x in input_str.split(',')] rowNum=dimensions[0] colNum=dimensions[1] multilist = [[0 for col in range(colNum)] for row in range(rowNum)] # Code by Quantrimang.com for row in range(rowNum): for col in range(colNum): multilist[row][col]= row*col print (multilist)

Bài 11:

  • Câu hỏi :

Viết một chương trình chấp nhận chuỗi từ do người dùng nhập vào, phân tách nhau bởi dấu phẩy và in những từ đó thành chuỗi theo thứ tự bảng chữ cái, phân tách nhau bằng dấu phẩy.

Giả sử đầu vào được nhập là: without,hello,bag,world, thì đầu ra sẽ là:bag,hello,without,world.

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
items=[x for x in input("Nhập một chuỗi: ").split(',')] items.sort() print (','.join(items))

Bài 12:

  • Câu hỏi :

Viết một chương trình chấp nhận chuỗi là các dòng được nhập vào, chuyển các dòng này thành chữ in hoa và in ra màn hình. Giả sử đầu vào là:

Hello world
Practice makes perfect

Thì đầu ra sẽ là:

HELLO WORLD
PRACTICE MAKES PERFECT

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
lines = [] while True: s = input() if s: lines.append(s.upper()) else: break; # Bài Python 12, Code by Quantrimang.com for sentence in lines: print (sentence)

Bài 13:

  • Câu hỏi :

Viết một chương trình chấp nhận đầu vào là một chuỗi các từ tách biệt bởi khoảng trắng, loại bỏ các từ trùng lặp, sắp xếp theo thứ tự bảng chữ cái, rồi in chúng.

Giả sử đầu vào là: hello world and practice makes perfect and hello world again

Thì đầu ra là:again and hello makes perfect practice world

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

Sử dụng set để loại bỏ dữ liệu trùng lặp tự động và dùng sorted() để sắp xếp dữ liệu.

  • Code mẫu :
s = input("Nhập chuỗi của bạn: ") words = [word for word in s.split(" ")] print (" ".join(sorted(list(set(words)))))

Bài 14:

  • Câu hỏi :

Viết một chương trình chấp nhận đầu vào là chuỗi các số nhị phân 4 chữ số, phân tách bởi dấu phẩy, kiểm tra xem chúng có chia hết cho 5 không. Sau đó in các số chia hết cho 5 thành dãy phân tách bởi dấu phẩy.

Ví dụ đầu vào là:0100,0011,1010,1001

Đầu ra sẽ là:1010

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
value = [] items=[x for x in input("Nhập các số nhị phân: ").split(',')] for p in items: intp = int(p, 2) if not intp%5: value.append(p) # Bài tập Python 14, Code by Quantrimang.com print (','.join(value))

Bài 15:

  • Câu hỏi :

Viết một chương trình tìm tất cả các số trong đoạn 1000 và 3000 (tính cả 2 số này) sao cho tất cả các chữ số trong số đó là số chẵn. In các số tìm được thành chuỗi cách nhau bởi dấu phẩy, trên một dòng.

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
values = [] for i in range(1000, 3001): s = str(i) if (int(s[0])%2==0) and (int(s[1])%2==0) and (int(s[2])%2==0) and (int(s[3])%2==0): values.append(s) # Bài tập Python 15, Code by Quantrimang.com print (",".join(values))

Bài 16:

  • Câu hỏi :

Viết một chương trình chấp nhận đầu vào là một câu, đếm số chữ cái và chữ số trong câu đó. Giả sử đầu vào sau được cấp cho chương trình:hello world! 123

Thì đầu ra sẽ là:

Số chữ cái là: 10
Số chữ số là: 3

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
s = input("Nhập câu của bạn: ") # Bài tập Python 16, Code by Quantrimang.com d={"DIGITS":0, "LETTERS":0} for c in s: if c.isdigit(): d["DIGITS"]+=1 elif c.isalpha(): d["LETTERS"]+=1 else: pass print ("Số chữ cái là:", d["LETTERS"]) print ("Số chữ số là:", d["DIGITS"])

Bài 17:

  • Câu hỏi :

Viết một chương trình chấp nhận đầu vào là một câu, đếm chữ hoa, chữ thường.

Giả sử đầu vào là: Quản Trị Mạng

Thì đầu ra là:

Chữ hoa: 3

Chữ thường: 8

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
s = input("Nhập câu của bạn: ") d={"UPPER CASE":0, "LOWER CASE":0} # Code by Quantrimang.com for c in s: if c.isupper(): d["UPPER CASE"]+=1 elif c.islower(): d["LOWER CASE"]+=1 else: pass print ("Chữ hoa:", d["UPPER CASE"]) print ("Chữ thường:", d["LOWER CASE"])

Bài 18:

  • Câu hỏi :

Viết một chương trình tính giá trị củaa+aa+aaa+aaaa với a là số được nhập vào bởi người dùng.

Giả sử a được nhập vào là 1 thì đầu ra sẽ là:1234

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
a = input("Nhập số a: ") n1 = int( "%s" % a ) n2 = int( "%s%s" % (a,a) ) n3 = int( "%s%s%s" % (a,a,a) ) n4 = int( "%s%s%s%s" % (a,a,a,a) ) # Bài tập Python 18, Code by Quantrimang.com print ("Tổng cần tính là: ",n1+n2+n3+n4)

Bài 19:

  • Câu hỏi :

Sử dụng một danh sách để lọc các số lẻ từ danh sách được người dùng nhập vào.

Giả sử đầu vào là:1,2,3,4,5,6,7,8,9 thì đầu ra phải là:1,3,5,7,9

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
values = input("Nhập dãy số của bạn, cách nhau bởi dấu phẩy: ") numbers = [x for x in values.split(",") if int(x)%2!=0] print (",".join(numbers))

Bài 20:

  • Câu hỏi :

Viết chương trình tính số tiền thực của một tài khoản ngân hàng dựa trên nhật ký giao dịch được nhập vào từ giao diện điều khiển.

Định dạng nhật ký được hiển thị như sau:

D 100
W 200

(D là tiền gửi, W là tiền rút ra).

Giả sử đầu vào được cung cấp là:

D 300

D 300

W 200

D 100

Thì đầu ra sẽ là:

500

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :

import sys netAmount = 0 # Bài tập Python 20, Code by Quantrimang.com while True: s = input("Nhập nhật ký giao dịch: ") if not s: break values = s.split(" ") operation = values[0] amount = int(values[1]) if operation=="D": netAmount+=amount elif operation=="W": netAmount-=amount else: pass print (netAmount)

Bài 21:

  • Câu hỏi :

Một website yêu cầu người dùng nhập tên người dùng và mật khẩu để đăng ký. Viết chương trình để kiểm tra tính hợp lệ của mật khẩu mà người dùng nhập vào.

Các tiêu chí kiểm tra mật khẩu bao gồm:

1. Ít nhất 1 chữ cái nằm trong [a-z]
2. Ít nhất 1 số nằm trong [0-9]
3. Ít nhất 1 kí tự nằm trong [A-Z]
4. Ít nhất 1 ký tự nằm trong [$ # @]
5. Độ dài mật khẩu tối thiểu: 6
6. Độ dài mật khẩu tối đa: 12

Chương trình phải chấp nhận một chuỗi mật khẩu phân tách nhau bởi dấu phẩy và kiểm tra xem chúng có đáp ứng những tiêu chí trên hay không. Mật khẩu hợp lệ sẽ được in, mỗi mật khẩu cách nhau bởi dấu phẩy.

Ví dụ mật khẩu nhập vào chương trình là:ABd1234@1,a F1#,2w3E*,2We3345

Thì đầu ra sẽ là:ABd1234@1

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
import re value = [] items=[x for x in input("Nhập mật khẩu: ").split(',')] # Bài tập Python 21, Code by Quantrimang.com for p in items: if len(p)<6 or len(p)>12: continue else: pass if not re.search("[a-z]",p): continue elif not re.search("[0-9]",p): continue elif not re.search("[A-Z]",p): continue elif not re.search("[$#@]",p): continue elif re.search("\s",p): continue else: pass value.append(p) print (",".join(value))

Bài 22:

  • Câu hỏi :

Viết chương trình sắp xếp tuple (name, age, score) theo thứ tự tăng dần, name là string, age và height là number. Tuple được nhập vào bởi người dùng. Tiêu chí sắp xếp là:

Sắp xếp theo name sau đó sắp xếp theo age, sau đó sắp xếp theo score. Ưu tiên là tên > tuổi > điểm.

Nếu đầu vào là:

Tom,19,80
John,20,90
Jony,17,91
Jony,17,93
Json,21,85

Thì đầu ra sẽ là:

[('John', '20', '90'), ('Jony', '17', '91'), ('Jony', '17', '93'), ('Json', '21', '85'), ('Tom', '19', '80')]

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

Sử dụng itemgetter để chấp nhận nhiều key sắp xếp.

  • Code mẫu :
from operator import itemgetter, attrgetter # Bài tập Python 22 Code by Quantrimang.com l = [] while True: s = input() if not s: break l.append(tuple(s.split(","))) print (sorted(l, key=itemgetter(0,1,2)))

Bài 23:

  • Câu hỏi :

Xác định một class với generator có thể lặp lại các số nằm trong khoảng 0 và n, và chia hết cho 7.

  • Gợi ý :

Sử dụng yield.

  • Code mẫu :
def putNumbers(n): i = 0 while i

Bài 24:

  • Câu hỏi :

Một Robot di chuyển trong mặt phẳng bắt đầu từ điểm đầu tiên (0,0). Robot có thể di chuyển theo hướng UP, DOWN, LEFT và RIGHT với những bước nhất định. Dấu di chuyển của robot được đánh hiển thị như sau:

UP 5

DOWN 3

LEFT 3

RIGHT 3

Các con số sau phía sau hướng di chuyển chính là số bước đi. Hãy viết chương trình để tính toán khoảng cách từ vị trí hiện tại đến vị trí đầu tiên, sau khi robot đã di chuyển một quãng đường. Nếu khoảng cách là một số thập phân chỉ cần in só nguyên gần nhất.

Ví dụ: Nếu tuple sau đây là input của chương trình:

UP 5
DOWN 3
LEFT 3
RIGHT 2

thì đầu ra sẽ là 2.

  • Gợi ý :

Trong trường hợp dữ liệu đầu vào được nhập vào chương trình nó nên được giả định là dữ liệu được người dùng nhập vào từ giao diện điều khiển.

  • Code mẫu :
  • import math pos = [0,0] while True: s = input() if not s: break movement = s.split(" ") direction = movement[0] steps = int(movement[1]) if direction=="UP": pos[0]+=steps elif direction=="DOWN": pos[0]-=steps elif direction=="LEFT": pos[1]-=steps elif direction=="RIGHT": pos[1]+=steps else: pass # Bài tập Python 24 Code by Quantrimang.com print (int(round(math.sqrt(pos[1]**2+pos[0]**2))))

Bài 25:

  • Câu hỏi :

Viết chương trình tính tần suất các từ từ input. Output được xuất ra sau khi đã sắp xếp theo bảng chữ cái.

Giả sử input là:New to Python or choosing between Python 2 and Python 3? Read Python 2 or Python 3.

Thì output phải là:

2:2
3.:1
3?:1
New:1
Python:5
Read:1
and:1
between:1
choosing:1
or:2
to:1

  • Gợi ý :

​Trong trường hợp dữ liệu đầu vào được cung cấp cho câu hỏi, nó phải được giả định là một input được nhập từ giao diện điều khiển.

  • Code mẫu :
  • freq = {} # frequency of words in text line = input() for word in line.split(): freq[word] = freq.get(word,0)+1 # Bài tập Python 25 Code by Quantrimang.com words = sorted(freq.keys()) for w in words: print ("%s:%d" % (w,freq[w]))

Bài 26:

  • Câu hỏi :

​Định nghĩa 1 hàm có thể tính tổng hai số.

  • Gợi ý :

​Định nghĩa 1 hàm với 2 số là đối số. Bạn có thể tính tổng trong hàm và trả về giá trị.

  • Code mẫu :
  • def SumFunction(number1, number2): #định nghĩa hàm tính tổng return number1+number2 print (SumFunction(5,7)) #in tổng 2 số 5 và 7

Bài 27:

  • Câu hỏi :

Định nghĩa một hàm có thể chuyển số nguyên thành chuỗi và in nó ra giao diện điều khiển

  • Gợi ý :

Sử dụng str() để chuyển đổi một số thành chuỗi.

  • Code mẫu :

def printValue(n): print (str(n)) printValue(3)

Bài 28:

  • Câu hỏi :

Định nghĩa hàm có thể nhận hai số nguyên trong dạng chuỗi và tính tổng của chúng, sau đó in tổng ra giao diện điều khiển.

  • Gợi ý :

Sử dụng int() để chuyển đổi một chuỗi thành số nguyên.

  • Code mẫu :
  • def printValue(s1,s2): print (int(s1)+int(s2)) printValue("3","4") #Kết quả là 7

Bài 29:

  • Câu hỏi :

Định nghĩa hàm có thể nhận 2 chuỗi từ input và nối chúng sau đó in ra giao diện điều khiển

  • Gợi ý :

Sử dụng + để nối các chuỗi.

  • Code mẫu :
  • def printValue(s1,s2): print (s1+s2) printValue("3","4") #Kết quả là 34
  • Bài 30
  • Câu hỏi :

Định nghĩa một hàm có input là 2 chuỗi và in chuỗi có độ dài lớn hơn trong giao diện điều khiển. Nếu 2 chuỗi có chiều dài như nhau thì in tất cả các chuỗi theo dòng.

  • Gợi ý :

Sử dụng hàm len() để lấy chiều dài của một chuỗi

  • Code mẫu :

def printValue(s1,s2): # Bài tập Python 30 Code by Quantrimang.com len1 = len(s1) len2 = len(s2) if len1>len2: print (s1) elif len2>len1: print (s2) else: print(s1) print (s2) printValue("one","three")

0

Video liên quan

Chủ đề