Học Python/Bài tập căn bản

Nhập, xuất, tính toán

sửa

Bài 1.1

sửa

""" Viết chương trình nhập vào năm sinh, in ra tuổi, ví dụ nhập 1984 in ra: Ban sinh nam 1984, vay ban 19 tuoi. """

  1. Chuong trinh : Nhap nam sinh Xuat tuoi

import time x=time.localtime() print (x[0])

def Xuat_tuoi(Namsinh):

 x=time.localtime()
 a=x[0] - Namsinh
 if a==0:
      print ("Tuoi cua ban la :",a+1)
 elif (a<0):
      print ("Tuoi nay chua ton tai")
 else:
      print ("Tuoi cua ban la :",a)

Namsinh = int(input("Nhap nam sinh : ")) Xuat_tuoi(Namsinh)

==Bài 1.2== tính chu vi và diện tích hình tròn

import math
def Tinh(R):
   if R<0:
       print("Ban kinh khong nho hon 0")
       print("Ban nhap khong hop le")
   else:
       CV=2*R*math.pi
       DT=R*R*math.pi
       print "Chu vi la :",CV
       print "Dien tich la :",DT
 
print("-------Tinh Chu Vi, Dien Tich Hinh Tron---------")  
r=float(input("Nhap ban kinh hinh tron: "))
Tinh(r)

Bài 1.3

sửa

Bài 1.4

sửa
import math
def Bai_1_4(R,h):
   S_DAY=R**2*math.pi
   S_XQ=2*R*h*math.pi
   V=S_DAY*h
   if (R<0)or(h<0):
       print "Ban nhap khong hop le"
   else:
       print "Dien tich day la :",S_DAY
       print "Dien tich xung quanh la :",S_XQ
       print "The tich la :",V
print"-----Tinh Dien Tich,The Tich Hinh Tru Tron-------"
if __name__=="__main__":
   r=float(raw_input("Nhap ban kinh :"))
   h=float(raw_input("Nhap chieu cao :"))
   Bai_1_4(r,h)

Bài 1.5

sửa
import math
def Bai_1_5(x):
   y1=4*(x*x+10*math.pow(x, 1.5)+3*x+1)
   y2=(math.sin(math.pi*x*x)+math.sqrt(x*x+1))/(math.exp(2*x)+math.cos((math.pi/4)*x))
   print "Y1 = ",y1
   print "Y2 = ",y2
print "------Tinh gia tri bieu thuc-------------  "
x=float(raw_input("Nhap so thuc X : "))     
Bai_1_5(x)

Bài 1.6

sửa

def tinh_so_to_tien(tien):

loai_tien = [50000,20000,10000,5000,2000,1000]

for i in loai_tien:

so_to = tien/i

print "co %d to %d nghin dong" %(so_to, i)

tien = tien%i

print " Nhap so tien:"

n = int(raw_input(">"))

tinh_so_to_tien(n)

Bài 1.7

sửa
#Chuong trinh tinh tong cac chu so cua mot so nguyen có 2 chữ số
x=int(input("Nhập số cần tính giai thừa:"))

def tong(x):

  a=0
  s=0
  if x/10 >= 1:
     s=x%10
     a=int(x/10)
     print("tổng là:" , a+s)
  else:
     print("tổng các phần tử là: ", x)
  return

tong(x)

Cấu trúc rẽ nhánh

sửa
  1. Chuong trinh sap tang 3 so nguyen

a= int(input("nhập số 1: ")) b= int(input("nhập số 2: ")) c= int(input("nhập số 3: ")) if a<b and b<c:

  print(a,b,c)

elif a<c and c<b:

  print(a,c,b)

elif b<a and a<c:

  print(b,a,c)

elif b<c and b<a:

  print (b,c,a)

elif c<b and b<a:

  print(c,b,a)

else:

  print(c,a,b)

Bài 2.2

sửa
def Max(a,b,c,d):
   max=a
   if b>max :
       max=b
   if c>max :
       max=c
   if d>max:
       max=d
   return max
def Min(a,b,c,d):
   min=a
   if b<min:
       min=b
   if c<min :
       min=c
   if d<min:
       min=d
   return min
def Trung_gian(a,b,c,d):
   max=Max(a,b,c,d)
   min=Min(a,b,c,d)
   if (max!=a)and(min!=a):
       print "So trung gian :",a
   if (max!=b)and(min!=b):
       print "So trung gian :",b
   if (max!=c)and(min!=c):
       print "So trung gian :",c
   if (max!=d)and(min!=d):
       print "So trung gian :",d
   
if __name__=="__main__":  
   a=int(raw_input("Nhap a :"))
   b=int(raw_input("Nhap b :"))
   c=int(raw_input("Nhap c :"))
   d=int(raw_input("Nhap d :"))
   print "So Lon Nhat :", Max(a,b,c,d)
   print "So Nho Nhat :", Min(a,b,c,d)             
   Trung_gian(a,b,c,d)

Bài 2.3

sửa

def Bai3(a,b,c):

   if (a+b)>c and (a+c)>b and (b+c)>a and (a>0) and (b>0) and (c>0):
       if(a==b)and (b==c):
           return 0
       elif((a*b+b*b==c*c)and(a==b))or((a*a+c*c==b*b)and(a==c))or((c*c+b*b==a*a)and(c==b)):
           return 1
       elif(a==b)or(b==c)or(a==c):
           return 2
       elif((a*a==b*b+c*c)or(b*b==a*a+c*c)or(c*c==a*a+b*b)):
           return 3
       else:
           return 4
   else:
       return 5
       
       

if __name__=="__main__":

   a=int(raw_input("Nhap a :"))
   b=int(raw_input("Nhap b :"))
   c=int(raw_input("Nhap c :"))         
   r=['Tam giac deu','tam giac vuong can','tam giac can','tam giac vuong ','tam giac thuong','khong hop le']
   i=Bai3(a,b,c)
   print r[i]

Bài 2.4

sửa
def Bai_2_4(km):
   if km==1:
       print "So tien phai tra la : 5000d"
   else:
       if km<=5:
           print "So tien phai tra la :",((km-1)*4500+5000)
       else:
           if(km<120):
                print "So tien phai tra la :",((km-5)*3500+4500*4+5000)
           else:     
               print "So tien phai tra la :",((((km-5)*3500+4500*4+5000)*1/10))
if __name__=="__main__":  
   km=int(raw_input("Nhap so km da di :"))
   Bai_2_4(km)             
           

Bài 2.5

sửa

def Bai5(BD,KT):

   h=KT-BD # So gio truy cap
   T=1 #Thanh tien
   if((BD>=0)and(BD<=7)):
       if h>=7:
           T=(T*h*300*60)/0.15
       else:
           T=T*h*300
   if((BD>7)and (BD<=17)):
      if h>=6:
           T=(T*h*400*60)/0.1
      else:
           T=T*h*400
   if((BD>17)and (BD<=24)):
      if h>=4:
           T=(T*h*350*60)*0.12
      else:
           T=T*h*350                
   return T       
               

if __name__=="__main__":

   BD=int(raw_input("Nhap thoi gian bat dau :"))    
   KT=int(raw_input("Nhap thoi gian ket thuc :"))
   print "Thanh tien",Bai5(BD,KT)
         

Bài 2.6

sửa

def formatStringInput(str):

  return str[:len(str)-1]

def Bai_6(Ngay_thue,Loai_phong):

   if(Ngay_thue<=12):
       if Loai_phong=='A':
           return Ngay_thue*250000
       if Loai_phong=='B':
           return Ngay_thue*200000
       if Loai_phong=='C':
           return Ngay_thue*150000
   else:
       if Loai_phong=='A':
           return Ngay_thue*250000*0.1
       if Loai_phong=='B':
           return Ngay_thue*200000*0.08
       if Loai_phong=='C':
           return Ngay_thue*150000*0.08

if __name__=="__main__":

   Ngay_thue=int(raw_input("Nhap so ngay thue :"))   
   Loai_phong=(raw_input("Nhap loai phong:"))
   strLP = formatStringInput (Loai) 
   print "Thanh tien",Bai_6(Ngay_thue,strLP)

Bài 2.7

sửa
#chuong trinh nhap vao 1 thang xuat ra mua tuong ung
def Bai_2_7(m):
   if(m<1)or(m>12):
       print "Nhap thang khong hop le"
   if(m>=1)and(m<=3):
       print "Mua xuan"
   if(m>=4)and(m<=6):    
       print "Mua ha"
   if(m>=6)and(m<=9):
       print "Mua thu"
   if(m>=10)and(m<=12):
       print "Mua dong"        
       
if __name__=="__main__":  
   M=int(raw_input("Nhap 1 thang trong nam :"))
   Bai_2_7(M)