字符编码

# 需知:
#
# 1.在python2默认编码是ASCII, python3里默认是unicode
#
# 2.unicode 分为 utf-32(占4个字节),utf-16(占两个字节),utf-8(占1-4个字节), so utf-16就是现在最常用的unicode版本, 不过在文件里存的还是utf-8,因为utf8省空间
#
# 3.在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string #-*-coding:gb2312 -*- #这个也可以去掉
__author__ = 'Alex Li' import sys
print(sys.getdefaultencoding()) msg = "i am 我爱北京天安门"
#msg_gb2312 = msg.decode("utf-8").encode("gb2312")
msg_gb2312 = msg.encode("gb2312") #默认就是unicode,不用再decode,喜大普奔
gb2312_to_unicode = msg_gb2312.decode("gb2312")
gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8") print(msg)
print(msg_gb2312)
print(gb2312_to_unicode)
print(gb2312_to_utf8)

字符格式化

ctrl+D複製一行、
ctrl+?注釋 佔位符
%d:d==digital數字
%s:s==string字符
%f:f==float小數 exit():退出程序,也可以如exit("you are wrong") 數據運算
整型integrate
長整型long
python3不區分整型和長整型了,統稱整型
浮點型float 布爾值:真或假,True False 字符串:"hello world!",'222'
字符串拼接不建議使用“,+”符號,慢而且,佔用內存使用%s來拼接
如下:
name="hua"
print("姓名是:%s" %name)
*******************************************
range(3):代表3次【0,1,2】,以此類推range(4)4次【0,1,2,3】 range(1,101):1代表從1開始,101代表到100
例:for i in range(1,101,2):
if i %2==1:
print(i)
輸出結果是1~101之間的奇數
range(1,101,2):2代表步長
例:for i in range(1,101,2):
print(i)
輸出結果是1~101之間的奇數 不輸出結果是50~70之間數
例:for i in range(1,101):
if i<50 or i>70
print(i) #輸入用戶名和密碼判斷是否正確,錯誤可以輸入3次
_user = "hua"
_password = "123" for i in range(3):
userName = input("Name:")
passWord = input("password:")
if userName == _user and passWord == _password:
print(" welcome %s login....." % userName)
break #跳出中斷,break for之後就不會執行後面的else語句
else:
print("password and userName is invalid...")
else: #只要上面的for語句正常執行完畢,中間沒有被打斷就會執行else語句
print("you login 3 ,please don't login...") _user = "hua"
_password = "123"
counter = 0
while counter < 3:
userName = input("Name:")
passWord = input("password:")
if userName == _user and passWord == _password:
print(" welcome %s login....." % userName)
break #跳出中斷,break for之後就不會執行後面的else語句
else:
print("password and userName is invalid...")
counter += 1
else: #只要上面的for語句正常執行完畢,中間沒有被打斷就會執行else語句
print("you login 3 ,please don't login...") ***********************************************************
break:跳出當前循環
continue:跳出本次循環,繼續執行下一次循環, keep_going = False for i in range(10):
if i < 5:
continue
print(i)
for j in range(10):
print(j)
if j == 6:
keep_going = True
break #因為內循環退出了
if keep_going:
break #所以我也退出了
*************************************************
列表 元組
#增刪改查
#查 切片
a=[]代表列表格式:a=['xiaohu','jinxing','ligang','sanpang','wuchao']
a[1:3]:代表從索引1開始到索引3前面的一個值,如結果是jinxing ligang
print(a[1:]):代表打印從索引1到最後的所有的值
print(a[1:-1]):代表从索引1到倒數第2個值全部取出來
print(a[1:-1:1]):從索引1開始到倒數第2個左到右一個一個去取
print(a[1::2]):從索引1開始左到右隔一個去取
print(a[1:-1:1]):從索引1開始左到右隔一個去取
print(a[3::-2]):從索引3開始右到左隔一個去取 #增加
#append:在最後增加 a.append('內容')
#insert:插入到某一個位置 a.insert(索引位置,'插入的內容'):a.insert(2,'你好') #修改:直接把位置的內容替換掉
a[1]='hai':把索引位置1的內容修改為hai
a[1:3]=['hai','hhh']:把索引1和2的內容替換掉 #刪除 remove pop del
a.remove('刪除的內容')或者a.remove(a[0])
a.pop(1):1代表索引位置 ,
b=a.pop(1):把1代表索引位置的內容刪除賦給b
a.pop()默認刪除最後一個字符串
del a[0] :刪除a列索引0的內容
del a:刪除整個a的列表,從內存中刪掉
a.clear()清空全部內容 #列表中字符串出現的次數 :count
方法:a=['to','be','or','not','to','be'].count('to')
print(t) #extend 方法添加整體添加到後面
a=[1,2,3]
b=[4,5,6]
a.extend(b) 執行之後a是有變化的
print(a):---[1,2,3,4,5,6]
print(b)---[4,5,6]
a+b:[1,2,3,4,5,6] 執行之後a和b的內容都沒有變化 #index:當不知道索引值的時候使用根據內容找位置
a=['xiaohu','jinxing','ligang','sanpang','wuchao']
print(a.index('jinxing')) #reverse把列表字符串倒敘排列
a.reverse() #sort,無序列表按照順序排列
x=[4,6,2,1,7,9]
x.sort() / x.sort(reverse=True)
print(x)----x=[1,2,4,6,7,9] b=sorted(x)
print(x) 身份判斷
type(a) is list 元組:tuple不可以修改只能讀 tup1()空元組
tup2(12,)記得只有一個元素的時候要加逗號 列表嵌套
a=[[1,2,3],4,'alex',(2,3,4)]
a[0] =[1,2,3]
b[1]
相當於:print(a[0][1]) for i in enumerate(product_list):默認從0開始
(0, ['Mac', 9000])
(1, ['kindle', 800])
(2, ['tesla', 900000])
(3, ['book', 105])
(4, ['bike', 2000]) for i in enumerate(product_list,1):默認從1開始
(1, ['kindle', 800])
(2, ['tesla', 900000])
(3, ['book', 105])
(4, ['bike', 2000]) a,b=[2,3]相當於a=2,b=3
print(a)-->輸出2
print(b)-->輸出3 for i, v in enumerate(product_list, 1):
print(i, v)
輸出如下:
1 ['Mac', 9000]
2 ['kindle', 800]
3 ['tesla', 900000]
4 ['book', 105]
5 ['bike', 2000] ************************************************************
 
'''
購物車程序
實現輸入工資
購物列表:
1.Mac 9000
2.kindle 800
3.testla 900000
4.book 105
5.bike 2000 購買物品,可以持續購買
最後來個購買列表
顯示餘額
'''
salary = input('please input your salary:')
shopping_car =[]
product_list = [
['Mac', 9000],
['kindle', 800],
['tesla', 900000],
['book', 105],
['bike',2000]
] if salary.isdigit(): #判斷輸入的是否是數字
salary = int(salary)
# for i in product_list:
# print(product_list.index(i), i)
while True:
for i, v in enumerate(product_list, 1):
print(i, '.', v)
choice = input('請選擇商品編號[退出:q]:')
if choice.isdigit():
choice=int(choice)
if choice > 0 and choice <= len(product_list):
p_item = product_list[choice-1] if p_item[1] < salary:
salary -= p_item[1]
shopping_car.append(p_item)
else:
print('餘額不足','還剩%s'%salary)
print(p_item)
else:
print('編碼不存在')
elif choice == 'q':
print('---------您購買的商品如下------------') for i in shopping_car:
print(i)
print('還剩%s元' %salary)
break
else:
print('選擇無效')

python基礎學習第二天的更多相关文章

  1. python基礎學習第一天

     python歷史 Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python 由 Guido van Rossum 于 1989 年底在荷兰国家数学和计算机科学研究所设计出来 ...

  2. Python 基礎 - for流程判斷

    今天介紹另一個循環判斷式 for循環,首先,先寫一個很簡單的 for循環的代碼 #!/usr/bin/env python3 # -*- coding:utf-8 -*- for i in range ...

  3. Python 基礎 - if else流程判斷

    hmm~前面講了那麼多,終於可以稍稍的正式進入另一個階段,沒錯,要開始寫判斷式了 這次先從最簡單的判斷式開始,if else 開始- Go 首先,之前有寫有一個簡單的互動式 用戶輸入 的代碼,忘記了嗎 ...

  4. Python 基礎 - 文件操作_v2

    嗯,那如何要把游標的位置給打印來? #!/usr/bin/env python3 # -*- coding:utf-8 -*- f = open('test', 'r') print(f.tell() ...

  5. Python 基礎 - 字符編碼

    Python 解釋器在加載 .py 文件中的代碼時,會對內容進行編碼 (默認 ascill) ASCII (American Standard Code for Information Interch ...

  6. Python 基礎 - 數據類型

    標準數據類型 Python3 中有六個標準的數據類型 1 Number(數字) 2 String(字符串) 3 List (列表) 4 Tuple (元組) 5 Sets (集合) 6 Diction ...

  7. Python 基礎 - pyc 是什麼

    Python2.7 版中,只要執行 .py 的檔案後,即會馬上產生一個 .pyc 的檔案,而在 Python3 版中,執行 .py 的檔案後,即會產生一個叫 __pycache__ 的目錄,裡面也會有 ...

  8. Python 基礎 - 字符轉編碼操作

    回顧字符編碼的前世今生 ASCII 只能儲英文或特殊字符,只占一個字節,一個字節8bit,不能儲中文,所以才出現Unicode Unicode 不管是中文或英文,都是占二個字節,一個字節8bit UT ...

  9. Python 基礎 - 文件的操作

    在來我們來玩一下文件操作,這個在未來工作上,也是會很常用到的功能 Python2.7中,可以用file()來打開文件,而在Python3中,一律都是用open(),接下來在當前目錄下,先建立一個空文件 ...

随机推荐

  1. Navicat premium 12 for mac 无限试用

    Mac 终端输入 sudo rm -Rf ~/Library/Application\ Support/PremiumSoft\ CyberTech 重启电脑 成功

  2. ArrayAccess 接口(源码)

    The ArrayAccess interface (PHP 5 >= 5.0.0, PHP 7) Introduction Interface to provide accessing obj ...

  3. window nginx 中文路径, 文件名乱码问题解决

    window nginx 中文路径, 文件名乱码, error, not found 此问题是由于windows系统编码与nginx编码设置不一致导致的,因此我们要统一二者的编码 nginx编码设置 ...

  4. linux man指令的详解

    原创内容,欢迎指正 一.基本操作 大多数linux发行版自带用以查找shell命令及其他GNU工具信息的在线手册,man命令就是用来访问存储在linux系统上的手册页面. 例如,查看ls命令手册,语法 ...

  5. 事务管理(ACID)

    目录 一.事务管理(ACID) 原子性(Atomicity) 一致性(Consistency) 持久性(Durability) 隔离性(Isolation) 二.事务隔离级别 脏读 不可复读 虚读(幻 ...

  6. SVN: 聚合工程下的子工程无法使用 svn:ignore

    当想将聚合工程manager下子工程没用的一些文件使用svn:ignore,发现该功能不能使用 这是因为SVN 服务器上还没有这些子工程的文件夹,只有聚合工程的文件夹,所以SVN认为在服务器上这些代码 ...

  7. Jpofiler

    参考链接: https://blog.csdn.net/u010638673/article/details/81703942

  8. ThreadLocalRandom ---- 提升Random在大并发下的效率

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 随机数 随机数在科学研究与工程实际中有着极其重要的应用! ...

  9. The Top 500 Worst Passwords (2008)

    Top 100 123456 password 12345678 1234 pussy 12345 dragon qwerty 696969 mustang letmein baseball mast ...

  10. Webpack 一,打包JS

    创建入口文件 app.js // es6 module 规范 import sum_d from './sum.js' import {sum_e} from './sum.js' // commco ...