5-1 整型,講講python普通整型與長整型區(qū)別
python整形一共有三種:布爾型,長整型和標準整型。普通整型與長整型的區(qū)別在于標準整形的取值范圍是-2^31到2^31-1,長整型所能表達的數(shù)值與機器自身的內存有關。
5-2 定義一個函數(shù),用于兩個數(shù)相乘,并調用這個函數(shù)
#!/usr/bin/env pythondef Multiply(number1,number2): return number1*number2if __name__=="__main__": number1 =input("please enter the number1:") number2 =input("please enter the number2:") PRint Multiply(number1,number2)

5-3 標準類型運算符. 寫一段腳本,輸入一個測驗成績,根據(jù)下面的標準,輸出他的評分
成績(A-F)。
A: 90–100
B: 80–89
C: 70–79
D: 60–69
F: <60
(以下腳本,最好在增加對輸入數(shù)據(jù)的判斷!!!?。。?/span>
#!/usr/bin/env pythondef score(number): number=number/10 if number==9|number==10: return 'A' if number==8: return 'B' if number==7: return 'C' if number==6: return 'D' else: return 'F'if __name__=="__main__": number=input("please enter the number:") print score(number)

#!/usr/bin/env pythondef isleapyear(year): if (year%4==0 and year%100 !=0)or(year%4==0 and year%400==0): return "%d is a leap year"%year else: return "%d is not a leap year"%yearif __name__=="__main__": year=input("please enter the year:") print isleapyear(year)

5-5 取余。取一個任意小于 1 美元的金額,然后計算可以換成最少多少枚硬幣。硬幣有 1美分,5 美分,10 美分,25 美分四種。1 美元等于 100 美分。舉例來說,0.76 美元換算結果應該是 3 枚 25 美分,1 枚 1 美分。類似 76 枚 1 美分,2 枚 25 美分+2 枚 10 美分+1 枚 5 美分+1枚 1 美分這樣的結果都是不符合要求的。
#!/usr/bin/env pythondef changecoin(number): result=[] meifen=[25,10,5] for i in meifen: result.append(number/i) number=number%i result.append(number) return "25 Cent is %d,10 Cent is %d,5 Cent is %d,1 Cent is %d"%(result[0],result[1],result[2],result[3])if __name__=="__main__": number=input("please enter the number:") print changecoin(number)

5-6 算數(shù)。寫一個計算機程序。你的代碼可以接受這樣的表達式,兩個操作數(shù)加一個操作符:N1 操作符 N2。其中N1和N2為整型或浮點型,操作符可以是+、-、*、/、%、**、分別表示加法、減法、乘法、整型除、取余和冪運算。計算這個表達式的結果,然后顯示出來。提示:可以使用字符串方法split(),但不可以使用內建函數(shù)eval()。
#!/usr/bin/env pythondef calculator(number1,i,number2): if i=='+': return number1+number2 if i=='-': return number1-number2 if i=='*': return number1*number2 if i=='/': return number1/number2 if i=='%': return number1%number2 if i=='**': return number1**number2caozuo=['+','-','**','/','%','*']string =raw_input("please enter the string:")for obj in caozuo: if string.find(obj)>-1 and string.count(obj)<2: number =string.split(obj) list =[] for i in number: list.append(i) number1=int(list[0]) i=obj number2=int(list[1])print calculator(number1,i,number2)

#!/usr/bin/env pythondef tax(number): return number*0.8if __name__=="__main__": number=input("Please enter the number:") print tax(number)

#!/usr/bin/env pythonimport mathdef Square_and_cube(length): print "The area of the square is %d"%pow(length,2) print "The volume of a cube is %d"%pow(length,3)def Circle_and_sphere(length): print "The area of the Circle is %d"%pow(length,2)*math.pi print "The volume of a sphere is %d"%pow(length,3)*math.pi*4/3 if __name__=="__main__": print """ (1)Calculate square and cube (2)Calculate Circle and sphere (3)exit() """ length=input("please enter the length:") choice=input("please make the choice number:") if choice==1: Square_and_cube(length) if choice==2: Circle_and_sphere(length) if choice==3: exit

5–9. 數(shù)值形式 回答下面關于數(shù)值格式的問題:
(a) 為什么下面的例子里 17+32 等于 49, 而 017+32 等于 47, 017+032 等于 41?

17+32均為十進制數(shù)值相加:49
017+32為八進制數(shù)加十進制數(shù):15+32=47
017+032均為兩個八進制數(shù)相加:15+26=41
(b)為什么下面這個表達式我們得到的結果是 134L 而不是 1342 ?

兩個長整型數(shù)相加,l與數(shù)字1相似,提倡長整型用大寫L
5-10 轉換。寫一對函數(shù)來進行華氏度到攝氏度的轉換。轉換公式為C=(F-32)*(5/9)應該在這個練習中使用真正的除法,否則你會得到不正確的結果
#!/usr/bin/env pythonfrom __future__ import divisiondef celcius(F): C=F-32*(5/9) return Cif __name__=="__main__": F=input("please enter the Fahrenheit degree:") print celcius(F)

#!/usr/bin/env python for i in range(21): if i%2==0: print i
#!/usr/bin/env python for i in range(21): if i%2==1: print i
#!/usr/bin/env pythondef div(num1,num2): if num1%num2==0: return "True" else: return "False"if __name__=="__main__": num1=input("please type the num1:") num2=input("please type the num2:") print "%d divided %d is %s"%(num1,num2,div(num1,num2))

5-12 系統(tǒng)限制。寫一段腳本確認一下你的 Python 所能處理的整數(shù),長整數(shù),浮點數(shù)和復數(shù)的范圍
print sys.maxint
print -sys.maxint-1
print sys.float_info
print sys.long_info

5-13 轉換。寫一個函數(shù)把由小時和分鐘表示的時間轉換為只用分鐘表示的時間
#!/usr/bin/env pythondef time(h,t): h=int(h) t=int(t) t=h*60+t print "The minutes is",tif __name__=="__main__": s=raw_input("please input the time in HH:MM.../n") s=s.split(":") time(s[0],s[1])

5-14 銀行利息。寫一個函數(shù),以定期存款利率為參數(shù),假定該賬戶每日計算復利,請計算返回年回報率。
#!/usr/bin/env pythonday_rate=float(raw_input("please type the day rate:/n"))year_rate=(1+day_rate)**365-1print "Annual return is %f"%year_rate

5-15 最大公約數(shù)和最小公倍數(shù)。請計算兩個整型的最大公約數(shù)和最小公倍數(shù)。
#!/usr/bin/env pythondef gcd(num1,num2): i=1 while True: i+=1 if (i%num1==0)&(i%num2==0): break return "the gcd is %d"%idef lcm(num1,num2): i=max(num1,num2) while True: i-=1 if (num1%i==0)&(num2%i==0): break return "the lcm is %d"%iif __name__=="__main__": num1=input("please enter the number1:") num2=input("please enter the number2:") print gcd(num1,num2) print lcm(num1,num2)

#!/usr/bin/env pythondef pay(paid,balance): print "Pymt# Paid Balance" print "----- ----- ------" i=0 b=balance while(balance>paid): balance=balance - paid i+=1 print " %d $%f $%f"%(i,paid,balance) i+=1 print" %d $%f $%f"%(i,balance,0)if __name__=="__main__": balance=raw_input("please enter the balance:") paid=raw_input("please enter the paid:") balance=float(balance) paid=float(paid) pay(paid,balance)

5-17 隨機數(shù)。熟讀隨機數(shù)模塊然后解下面的題: 生成一個有 N 個元素的由隨機數(shù) n 組成的列表, 其中 N 和 n 的取值范圍分別為: (1 < N <= 100), (0 <= n <= 231 -1)。然后再隨機從這個列表中取 N (1 <= N <= 100)個隨 機數(shù)出來, 對它們排序,然后顯示這個子集。
#!/usr/bin/pythonimport randomnum = random.randint(1,100)lst=[]for item in range(num): tmp = random.randint(0,(pow(2,31)-1)) lst.append(tmp)lst.sort()print lst

新聞熱點
疑難解答