代碼一
#! /usr/bin/env python
"""
@Time : 2018/8/22 14:38
@Author : Damao
@Site : Life is short. I use python.
@File : test1.py
@Software : PyCharm
"""
import time
def play():
str = '我愛你袒炉,親愛的姑娘! '
while 1:
print(str)
time.sleep(0.2)
str = str[1:] + str[0:1]
if __name__ == "__main__":
play()
代碼二
#! /usr/bin/env python
"""
@Time : 2018/8/22 16:00
@Author : Damao
@Site : Life is short. I use python.
@File : test2.py
@Software : PyCharm
"""
"""操作字符串"""
def test():
words = 'holle python!'
# 通過len函數(shù)計(jì)算字符串的長度
print(len(words))
# 獲得字符串首字母大寫
print(words.title())
print(words.capitalize())
# 獲得字符串變大寫
print(words.upper())
# 從字符串中查找子串所在位置
print(words.find('py'))
print(words.find('11213')) # 不存在展示為-1
# 與find類似但找不到子串時(shí)會(huì)引發(fā)異常
# print(str1.index('or'))
# print(str1.index('shit'))
# 檢查字符串是否以指定的字符串開頭
print(words.startswith("h"))
print(words.startswith("dd"))
# 檢查字符串是否以指定的字符串結(jié)尾
print(words.endswith("!"))
print(words.endswith("ss"))
# 將字符串以指定的寬度居中并在兩側(cè)填充指定的字符
print(words.center(100,'#'))
# 將字符串以指定的寬度靠右放置左側(cè)填充指定的字符
print(words.rjust(100,'*'))
# 從字符串中取出指定位置的字符(下標(biāo)運(yùn)算)
print(words[6])
# 字符串切片(從指定的開始索引到指定的結(jié)束索引)
print(words[6:8])
# 檢查字符串是否由數(shù)字構(gòu)成
print(words.isdigit())
# 檢查字符串是否以字母構(gòu)成
print(words.isalpha())
# 檢查字符串是否以數(shù)字和字母構(gòu)成
print(words.isalnum())
# 獲得字符串修剪左右兩側(cè)空格的拷貝
words1 = ' jackfrued@126.com '
print(words1.strip())
if __name__ == '__main__':
test()
代碼三
#! /usr/bin/env python
"""
@Time : 2018/8/22 16:20
@Author : Damao
@Site : Life is short. I use python.
@File : test3.py
@Software : PyCharm
"""
import sys
"""操作列表"""
def test():
list_a =[1,'a','holle',1213,2]
print(list_a)
list_b = ["python"] * 10
print(list_b)
# 計(jì)算列表長度(元素個(gè)數(shù))
print(len(list_b))
# 下標(biāo)(索引)運(yùn)算
print(list_a[0])
print(list_a[4])
# print(list_a[10])
# 添加元素
list_a.append(111)
print(list_a)
list_a.insert(0,888)
print(list_a)
list_a += (100,1000)
print(list_a)
print(len(list_a))
# 刪除元素
list_a.remove(100)
print(list_a)
del list_a[1]
print(list_a)
# 清空列表元素
list_b.clear()
print(list_b)
def test2():
fruits = ['grape', 'apple', 'strawberry', 'waxberry']
fruits += ['pitaya', 'pear', 'mango']
print(fruits)
# 循環(huán)遍歷列表元素
for o in fruits:
print(o)
# 列表切片
print(fruits[2:4])
fruit3 = fruits # 沒有復(fù)制列表只創(chuàng)建了新的引用
print(fruit3)
print(fruits)
# 可以通過完整切片操作來復(fù)制列表
fruit4 = fruits[:]
print(fruit4)
fruit5 = fruits[-3:-1]
print(fruit5)
# 可以通過反向切片操作來獲得倒轉(zhuǎn)后的列表的拷貝
fruit6 = fruits[::-1]
print(fruit6)
def test3():
test_list = ['orange', 'apple', 'zoo', 'internationalization', 'blueberry']
test_list2 = sorted(test_list)
print(test_list2)
print(test_list)
# sorted函數(shù)返回列表排序后的拷貝不會(huì)修改傳入的列表
# 函數(shù)的設(shè)計(jì)就應(yīng)該像sorted函數(shù)一樣盡可能不產(chǎn)生副作用
test_list3 = sorted(test_list, reverse=True) # 顛倒翻轉(zhuǎn)列表
print(test_list3)
# 通過key關(guān)鍵字參數(shù)指定根據(jù)字符串長度進(jìn)行排序而不是默認(rèn)的字母表順序
test_list4 = sorted(test_list,key=len)
print(test_list4)
# 給列表對(duì)象發(fā)出排序消息直接在列表對(duì)象上進(jìn)行排序
test_list.sort(reverse=True)
print(test_list)
def test4():
l = [x for x in range(10)]
print(l)
l = [x+y for x in 'QEQWEWQE' for y in "121321321321"]
print(l)
# 用列表的生成表達(dá)式語法創(chuàng)建列表容器
# 用這種語法創(chuàng)建列表之后元素已經(jīng)準(zhǔn)備就緒所以需要耗費(fèi)較多的內(nèi)存空間
t = [x+(0.1) for x in range(1000)]
# 查看占用內(nèi)存的字節(jié)數(shù)
print(sys.getsizeof(t))
print(t)
# 請(qǐng)注意下面的代碼創(chuàng)建的不是一個(gè)列表而是一個(gè)生成器對(duì)象
# 通過生成器可以獲取到數(shù)據(jù)但它不占用額外的空間存儲(chǔ)數(shù)據(jù)
# 每次需要數(shù)據(jù)的時(shí)候就通過內(nèi)部的運(yùn)算得到數(shù)據(jù)(需要花費(fèi)額外的時(shí)間)
t =(x+1 for x in range(1000))
print(sys.getsizeof(t))
print(t)
for a in t:
print(a)
def create_data(n):
a ,b = 0 ,1
for _ in range(n):
a , b = b , a+b
yield a # 返回一個(gè)表達(dá)式
def run():
for a in create_data(20):
print(a)
if __name__ == '__main__':
# test()
# test2()
# test3()
# test4()
run()
代碼四
#! /usr/bin/env python
"""
@Time : 2018/8/22 17:36
@Author : Damao
@Site : Life is short. I use python.
@File : test4.py
@Software : PyCharm
"""
"""
操作元組
如果不需要對(duì)元素進(jìn)行添加绽昼、刪除迷雪、修改的時(shí)候漫雷,可以考慮使用元組界酒,當(dāng)然如果一個(gè)方法要返回多個(gè)值蜒程,使用元組也是不錯(cuò)的選擇
"""
def opt_tuple():
# 定義元組
t = ("damao",28,178,"male")
print(t)
# 獲取元組中的元素
print(t[0])
print(t[3])
# 遍歷元組中的值
for i in t:
print(i)
# 重新給元組賦值
# t[0] = '王大錘' # TypeError
# 變量t重新引用了新的元組原來的元組將被垃圾回收
t = ("小明",2,0.5,'male')
print(t[0])
# 將元組轉(zhuǎn)換成列表
list_t = list(t)
print(list_t)
# 列表是可以修改它的元素的
list_t[0]='大毛'
print(list_t)
# 將列表轉(zhuǎn)換成元組
fruits_list = ['apple', 'banana', 'orange']
fruits_tuple = tuple(fruits_list)
print(fruits_tuple)
print(type(fruits_tuple))
if __name__ == '__main__':
opt_tuple()
代碼五
#! /usr/bin/env python
"""
@Time : 2018/8/22 17:55
@Author : Damao
@Site : Life is short. I use python.
@File : test5.py
@Software : PyCharm
"""
"""使用集合"""
def aggregate():
set1 = {1, 2, 3, 3, 3, 2}
print(set1) # 集合是不會(huì)出現(xiàn)重復(fù)元素的
print(len(set1)) # 打印過濾后集合的長度
set2 = set(range(20))
print(set2)
# 增加集合元素
set1.add(4)
set1.add(5)
print(set1)
set2.update([21,22])
print(set2)
set2.add(11)
print(set2)
# 刪除集合元素
set2.discard(19)
print(set2)
# remove的元素如果不存在會(huì)引發(fā)KeyError
set2.remove(8)
print(set2)
# set2.remove(80)
# 遍歷集合容器
for i in set2:
print(i)
# 將元組轉(zhuǎn)換成集合
set3 = set((1,2,3,4,5,6,7,6,7,0,5,4,))
print(set3.pop())
print(set3)
# 集合的交集、并集纪岁、差集凑队、對(duì)稱差運(yùn)算
print(set1 & set2)
# print(set1.intersection(set2))
print(set1 | set2)
# print(set1.union(set2))
print(set2 - set1)
# print(set1.difference(set2))
print(set1 ^ set2)
# print(set1.symmetric_difference(set2))
# 判斷子集和超集
print(set1 <= set2)
# print(set2.issubset(set1))
print(set3 <= set1)
# print(set3.issubset(set1))
print(set1 >= set2)
# print(set1.issuperset(set2))
print(set1 >= set3)
# print(set1.issuperset(set3))
if __name__ == '__main__':
aggregate()
代碼六
#! /usr/bin/env python
"""
@Time : 2018/8/22 18:19
@Author : Damao
@Site : Life is short. I use python.
@File : test6.py
@Software : PyCharm
"""
"""操作字典"""
def ops_dict():
dict_data = {'小明': 95, '小強(qiáng)': 78, '小紅': 82}
# 通過鍵可以獲取字典中對(duì)應(yīng)的值
print(dict_data['小紅'])
print(dict_data['小強(qiáng)'])
# 對(duì)字典進(jìn)行遍歷(遍歷的其實(shí)是鍵再通過鍵取對(duì)應(yīng)的值)
for i in dict_data:
print("{a}:".format(a=i,b=dict_data[i]))
# 遍歷key值
for key in dict_data:
print(key)
# 遍歷值
for v in dict_data.values():
print(v)
# 遍歷字典項(xiàng)
for kv in dict_data.items():
print(kv)
# 遍歷鍵值
for key, value in dict_data.items():
print(key, value)
# 更新字典中的元素
dict_data["小明"] = 90
dict_data.update(小強(qiáng)=90,小明=00)
print(dict_data)
# get方法也是通過鍵獲取對(duì)應(yīng)的值但是可以設(shè)置默認(rèn)值
print(dict_data.get('小強(qiáng)'))
# print(dict_data.get("小強(qiáng)",100))
print(dict_data)
# 刪除字典中的元素
print(dict_data.popitem()) # 得到的是元組
print(dict_data)
print(dict_data.pop('小強(qiáng)',90)) # 得到的是value
print(dict_data)
# 清空字典
dict_data.clear()
print(dict_data)
if __name__ == '__main__':
ops_dict()
代碼七
#! /usr/bin/env python
"""
@Time : 2018/8/22 21:54
@Author : Damao
@Site : Life is short. I use python.
@File : test7.py
@Software : PyCharm
"""
"""在屏幕上顯示跑馬燈文字"""
import os
import time
def func():
words = "人生苦短幔翰,我用Pythond霭薄!"
while True:
# 清除屏幕上的顯示
os.system("cls")
print(words)
# 等待200毫秒
time.sleep(0.2)
words = words[1:] + words[0]
if __name__ == '__main__':
func()
代碼八
#! /usr/bin/env python
"""
@Time : 2018/8/22 22:21
@Author : Damao
@Site : Life is short. I use python.
@File : test8.py
@Software : PyCharm
"""
"""設(shè)計(jì)一個(gè)函數(shù)產(chǎn)生指定長度的驗(yàn)證碼导匣,驗(yàn)證碼由大小寫字母和數(shù)字構(gòu)成"""
import random
def product():
while True:
code_len = int(input("請(qǐng)輸入想要的驗(yàn)證碼長度:"))
all_code = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
all_code_len = len(all_code) - 1
if code_len < all_code_len:
code = ''
for _ in range(code_len):
index = random.randint(0,all_code_len)
code += all_code[index]
print("你的驗(yàn)證碼為:{a}".format(a=code))
break
else:
print("你輸入的驗(yàn)證碼長度過長才菠,請(qǐng)重新輸入")
if __name__ == '__main__':
product()
代碼九
#! /usr/bin/env python
"""
@Time : 2018/8/22 22:45
@Author : Damao
@Site : Life is short. I use python.
@File : test9.py
@Software : PyCharm
"""
"""設(shè)計(jì)一個(gè)函數(shù)返回傳入的列表中最大和第二大的元素的值"""
def max_2_values():
list_test = [1,321,12,2,21,1,2,1]
list_test.sort()
print(list_test)
print("最大值是:", list_test[len(list_test)-1])
print("最小值是:",list_test[0])
if __name__ == '__main__':
max_2_values()
代碼十
#! /usr/bin/env python
"""
@Time : 2018/8/22 23:18
@Author : Damao
@Site : Life is short. I use python.
@File : test10.py
@Software : PyCharm
"""
"""雙色球選號(hào)"""
from random import randrange, randint, sample
def display(balls):
"""
輸出列表中的雙色球號(hào)碼
"""
for index, ball in enumerate(balls): # enumerate 枚舉、列舉
# print(len(balls))
if index == len(balls) - 1:
print('|', end=' ')
print('%02d' % ball, end=' ')
print()
def random_select():
"""
隨機(jī)選擇一組號(hào)碼
"""
red_balls = [x for x in range(1, 34)]
selected_balls = []
for _ in range(6):
index = randrange(len(red_balls))
selected_balls.append(red_balls[index])
del red_balls[index]
# print(selected_balls)
# 上面的for循環(huán)也可以寫成下面這行代碼
# sample函數(shù)是random模塊下的函數(shù)
# selected_balls = sample(red_balls, 6) # 快捷寫法
selected_balls.sort()
# print(selected_balls)
selected_balls.append(randint(1, 16))
# print(selected_balls)
return selected_balls
def main():
n = int(input('機(jī)選幾注: '))
for _ in range(n):
display(random_select())
if __name__ == '__main__':
# random_select()
# display(random_select())
main()