博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础练习
阅读量:6246 次
发布时间:2019-06-22

本文共 7263 字,大约阅读时间需要 24 分钟。

1 ''' 2 Created on 2018年7月28日 3  4 @author: liupf 5 ''' 6 print("hello world!") 7 ''' 8 print("%s%%" % '23') 9 age = 1010 if age >= 18:11     print("your age is", age)12     print("adult")13 else:14     print("your age is", age)15     print("teenager")16 17 s = input("birth: ")18 birth = int(s)19 if birth < 2000:20     print('00前')21 else:22     print('00后')23 --------------------------24 25 name = [ 'Michael', 'Bob', 'Tracy' ]26 scores = [95, 75, 85]27 d = {'Michael':95, 'Bob':75, 'Tracy':85}28 29 print(d['Bob'])30 d['Bob'] = 9931 print(d['Bob'])32 33 ------------------------------------34 35 s = set([1,2,3])36 print(s)37 38 s.add(4)39 print(s)40 41 s.remove(4)42 print(s)43 44 s2 = set([2,3,4])45 s3 = s & s246 print(s3)47 48 ss = s | s249 print(ss)50 51 a = ['c', 'b', 'a']52 a.sort()53 print(a)54 55 a = 'abc'56 b = a.replace('a', 'A')57 print(b)58 print(a.replace('a', 'A'))59 print(a)60 61 '''

 

 

1 '''  2 def my_abs(x):  3     if not isinstance(x, (int, float)):  4         raise TypeErr("bad operand type")  5     if x>=0:  6         return x  7     else:  8         return -x  9  10 print(my_abs(-11)) 11  12 print(my_abs(9)) 13 ----------------------------------------- 14  15 import math 16 def move(x, y, step, angle=0): 17     nx = x + step * math.cos(angle) 18     ny = y - step * math.sin(angle) 19     return nx, ny 20  21 x, y = move(100, 100, 60, math.pi /6) 22 print(x, y) 23  24 #返回一个turple 25 r = move(100, 100, 60, math.pi /6) 26 print(r) 27  28  29 def quadratic(a, b, c): 30     delt = b*b-4*a*c 31     if delt >= 0: 32         sqrt_delt = math.sqrt(b*b-4*a*c) 33         return ((-1*b + sqrt_delt)/(2*a) , (-1*b - sqrt_delt)/(2*a)) 34     else: 35         print("复数解") 36         return (0,0) 37  38 a=2 39 b=3 40 c=1 41  42 print(quadratic(a,b,c)); 43 -------------------------------------- 44  45 #位置参数 46 def power(x): 47     return x*x; 48  49 def n_power(x, n = 2): 50     if not isinstance(x, (int)): 51         raise TypeErr("bad operand type") 52     s = 1 53     while n > 0: 54         n = n-1 55         s = s*x 56     return s 57  58 print(n_power(2)) 59 print(n_power(2,10)) 60  61 def add_end(L=None): 62     if L is None: 63         L=[] 64     L.append('END') 65     return L 66  67 print(add_end([1,2,3])) 68 print(add_end()) 69 print(add_end()) 70  71  72 #可变参数 73 #number 被作为一个tuple处理,number 可以是一个list 74 def calc(*number): 75     sum = 0 76     for n in number: 77         sum = sum + n*n 78     return sum 79  80 print(calc(1, 2, 3)) 81  82 #关键字参数 83 #允许传入任意个参数 84 def person(name, age, **kw): 85     print('name', name, 'age', age, 'other', kw) 86  87 person('Michael', 30, city='ab', job='worker') 88  89 extra = {'city':'Beijing', 'job':'Engineer'} 90 person('Jack', 24, city=extra['city'], job=extra['job']) 91  92 person('Jessy', 26, **extra) 93  94  95 #命名关键字参数 96 def person(name, age, **kw): 97     if 'city' in kw: 98         pass 99     if 'job' in kw:100         pass101     print('name:', name, 'age:', age, 'other:', kw)102 103 person('Jack', 24, city='Beijing', addr='Chaoyang', zipcode=123456)104 105 106 def product(*arg):107     y = 1108     for i in arg:109         y = y*i110     return y111 112 print(product(5))113 print(product(5,6))114 print(product(5,6,7))115 print(product(5,6,7,9))116 '''117 118 '''119 尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。120 这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只121 占用一个栈帧,不会出现栈溢出的情况。122 '''123 '''124 def fact(n):125     return fact_iter(n, 1)126 127 def fact_iter(num, product):128     if num == 1:129         return product130     return fact_iter(num-1, num*product)131 132 133 134 from tkinter import *135 import tkinter.messagebox as messagebox136 137 class Application(Frame):138     def __init__(self, master=None):139         Frame.__init__(self, master)140         self.pack()141         self.createWidgets()142 143     def createWidgets(self):144         self.nameInput = Entry(self)145         self.nameInput.pack()146         self.alertButton = Button(self, text='Hello', command=self.hello)147         self.alertButton.pack()148 149     def hello(self):150         name = self.nameInput.get() or 'world'151         messagebox.showinfo('Message', 'Hello, %s' % name)152 153 app = Application()154 # 设置窗口标题:155 app.master.title('Hello World')156 # 主消息循环:157 app.mainloop()158 ------------------------------------------159 160 #汉诺塔 递归161 def move(n, a, b, c):162     if n == 1:163         print('move', a, '-->', c)164     else:165         move(n-1, a, c, b)166         move(1, a, b, c)167         move(n-1, b, a, c)168 169 move(4, 'A', 'B', 'C')170 171 L = list(range(100))172 L1 = L[:]#复制了一个L对象,由L1指向之173 174 L[0] = 9175 print(L[0])176 print(L1[0])177 178 print((0,1,2,3,4,)[:3])179 -----------------------180 '''181 #实现trim函数,去除字符串前后的空格 182 def trim(s):183     #起始位置184     a = 0185     #结束位置186     b = 0187     for c in s:188         if c.isspace():189             a += 1190         else:191             break192 193     for c in s:194         if c.isspace():195             b += 1196         else:197             b = 0198     b = len(s) - b199     print(a,b)200     return s[a:b]201 202 #print(trim('   hello   '))203 '''''''''204 205 #使用递归206 def trim(s):207     if s[:1] == ' ':208         return trim(s[1:])209     elif s[-1:] == ' ':210         return trim(s[:-1])211     else:212         return s213 214 215 s = '   hello  '216 print(trim(s))217 ------------------------------------218 219 dict = {'a':1, 'b':2, 'c':3}220 for key in dict:221     print(key)222 223 from collections import Iterable224 225 a = 123226 227 if( isinstance(a, Iterable)):228     print(a, "is iterable")229     print("%s is iterable" % a)230 else:231     print(a, "is not iterable")232     print("%s is not iterable" % a)233 234 -------------------------------------235 L = []#[1, 3, 4, 9]236 237 def findMinAndMax(L):238     if not len(L):239         return (None, None)240     max = min = L[0]241     for i in L:242         if (i < min):243             min = i244         if (i > max):245             max = i246 247     return (min, max)248 249 print(findMinAndMax(L))250 251 print([m + n for m in 'ABC' for n in 'XYZ'])252 253 import os 254 print([d for d in os.listdir('.')])255 256 d = {'x':'A', 'y':'B', 'z':'C'}257 for v, k in d.items():258     print(k, '=', v)259 260 ---------------------------------------------261 L1 = ['Hello', 'World', 18, 'Apple', None]262 #if条件放到了最后==!263 L2 = [s.lower() for s in L1 if(isinstance(s, str))]264 265 print(L2)266 ---------------------------------------------267 g = (x*x for x in range(10))268 for n in g:269     print(n)270 -------------------------271 272 def fib(max):273     n, a, b = 0, 0, 1274     while n < max:275         print(b)276         a, b = b, a+b277 278         n = n+1279     return 'done'280 print(fib(3))281 282 def f(max):283     n, a, b = 0, 0, 1284     while n < max:285         yield b286         a, b = b, a+b287         n = n+1288     return 'done'289 290 d = f(10)291 for i in d:292     print(i)293 294 '''295 296 297 #杨辉三角298 def triangles():299     a=[1]300     while True:301         yield a302         a=[sum(i) for i in zip([0]+a,a+[0])]303 n=0304 for t in triangles():305     print(t)306     n=n+1307     if n == 10:308         break

 

转载于:https://www.cnblogs.com/mofei004/p/9413314.html

你可能感兴趣的文章
第三章:垃圾回收器-年轻代收集器
查看>>
页面置换算法
查看>>
Queries Union
查看>>
博客园今天将排名计算错误了
查看>>
Linux 关机和重启命令
查看>>
测试框架设计:初步
查看>>
[LeetCode] Meeting Rooms
查看>>
Python——eventlet.event
查看>>
sas函数
查看>>
BZOJ2654 & 洛谷2619:tree——题解
查看>>
BZOJ3571 & 洛谷3236:[HNOI2014]画框——题解
查看>>
BZOJ4104:[Thu Summer Camp 2015]解密运算——题解
查看>>
BZOJ2821:作诗——题解
查看>>
2019中国爱分析数据智能高峰论坛(北京)
查看>>
oracle数据库安装的注意事项
查看>>
【总结整理】微信7年起起伏伏的理解
查看>>
Javascript多线程引擎(九)
查看>>
Handler和AsyncTask
查看>>
Microbit Turnipbit 孩子也能做的声光控开关
查看>>
通过SHELL并发获下载数据
查看>>