7 基础汇总
1、执行Python脚本的两种方式
如果想要永久保存代码,就要用文件的方式
如果想要调试代码,就要用交互式的方式
2、Pyhton单行注释和多行注释分别用什么?
单行注释:# 多行注释: '' "" ''' ''' """ """
3、声明变量注意事项有那些?
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
关键字不能声明为变量名
4、如何查看变量在内存中的地址?
ip(变量)
5、写代码
a.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败!
# a.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败 user_info = ['seven','123'] # user_info while True: # 输入有误循环输入 user_name = input('Please input your name >>> ').strip() # input user_name 去空格 pwd = input('Please input your password >>> ').strip() # input password 去空格 if not user_name and not pwd :continue # 都为空时 重新输入 if user_name == user_info[0] and pwd == user_info[1]: # 输入否正确,login print('\033[41;10m welcome login \033[41;0m') break else: # 错误,提示 print('user_name or password Error')
b.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
#b.实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次 count = 0 # define 计数器 while count < 3 : user_name = input('Please input your name >>>').strip() # input user_name 去空格 pwd = input('Please input password').strip() # input password 去空格 if not user_name and not pwd:continue # 都为空 重新输入,次数不计数 if user_name == user_info[0] and pwd == user_info[1]: print('\033[41;10m welcome login \033[41;0m') break else: print('\033[31;10m user_name or password Error \033[32;0m ') count += 1 # 控制次数 else: print('\033[31;10m Too many inputs\033[31;0m ') # 提示输入次数过多
c.实现用户输入用户名和密码,当用户名为seven或alex且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
# c.实现用户输入用户名和密码,当用户名为seven或alex且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次 cont = 0 # 计数器 while cont < 3: # 控制次数 user_name = input('Please input your name >>> ').strip() pwd = input('Please input you password >>>').strip() if not user_name and not pwd:continue if (user_name == 'seven' or user_name == 'alex') and pwd == 123: # 或者 ,且 print('Welcome to login ') else: print('user_name or password is Error') cont += 1 # 每次失败 + 1
使用while循环实现输出2-3+4-5+6...+100的和
!/usr/bin/env python3 # _*_ coding:utf-8 _*_ # @Time : 2017/09/05 # @Author : tony # @File : shop_cart # @Version : 1.0 # a.使用while循环实现输出2-3+4-5+6...+100的和 # 2..... 100 , 偶数相加,剪掉非1的奇数 count = 2 # 初始值为2 sun = 0 # 总值 while count <= 100: if count % 2 == 0: sun += count # 偶数加上 else: sun -= count # 奇数减掉 count += 1 # 控制次数 print(sun) # 最后的总值
使用for循环和range实现输出1-2+3-4+5-6...+99的和
# 使用for循环和range实现输出1-2+3-4+5-6...+99的和 sun = 0 for k in range(1,100): if k % 2 == 1 : # 余数为1 即奇数 sun += k # 所有的奇数加起来 else: sun -= k # 减掉所有的偶数 print(sun) # 50
使用while循环实现输出1,2,3,4,5,7,8,9,11,12
# 使用while循环实现输出1,2,3,4,5,7,8,9,11,12 count = 0 while count < 12: count +=1 if (count == 6 or count == 10):continue print(count)
分别书写数字5,10,32,7的二进制表示
# 分别书写数字5,10,32,7的二进制表示 # 二进制 print(bin(5)) print(bin(10)) print(bin(32)) print(bin(7))
使用while循环实现输出1-100内的所有奇数
# 使用while循环实现输出1-100内的所有奇数 count = 0 while count < 100: if count % 2 == 1: print(count) count += 1
使用while循环实现输出1-100内的所有偶数
# 使用while循环实现输出1-100内的所有偶数 count = 2 while count < 100: if count % 2 == 0: print(count) count += 1
现有如下两个变量,请简述n1和n2是什么关系?
n1=123 n2=123 # n1和n2 id相同值相同 因为它们值太小python会进行优化在内存空间中开辟一个小数值存放池 ########################################################### n1=123456 n2=123456 # n1和n2 id不相同值相同 n1,n2指向不同的内存空间 ############################################################# n1=123456 n2=n1 # n1和n2 id相同值相同 n1,n2指向同一个内存空间 ###################################################@@ n1=5 print(n1.bit_length())
布尔值分别有什么
True
Fales
阅读代码,请写出执行结果
# a="alex" # b=a.capitalize() # print(a) # print(b) # 请写出输出结果: alex Alex
写代码,有如下变量,请按照要求实现每个功能
name="aleX" #a.移除name变量对应的值两边的空格,并输入移除有的内容 print(name.strip()) #b.判断name变量对应的值是否以"al"开头,并输出结果 print(name.startswith("al")) #c.判断name变量对应的值是否以"X"结尾,并输出结果 print(name.endswith("X")) #d.将name变量对应的值中的“l”替换为“p”,并输出结果 print(name.replace("l","p")) #e.将name变量对应的值根据“l”分割,并输出结果。 print(name.split("l")) #f.请问,上一题e分割之后得到值是什么类型? # 列表类型 #g.将name变量对应的值变大写,并输出结果 print(name.upper()) #h.将name变量对应的值变小写,并输出结果 print(name.lower()) #i.请输出name变量对应的值的第2个字符? print(name[1]) #j.请输出name变量对应的值的前3个字符? print(name[0:3]) #k.请输出name变量对应的值的后2个字符? print(name[-2:]) #l.请输出name变量对应的值中“e”所在索引位置? print(name.find("e"))
字符串是否可迭代?如可以请使用for循环每一个元素?
# 可以 name = "aleX" for i in name : print(i)
请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']
li = ['alex','eric','rain'] print("_".join(li))
写代码,有如下列表,按照要求实现每一个功能
li = ['alex','eric','rain'] #a.计算列表长度并输出 print(len(li)) #b.列表中追加元素“seven”,并输出添加后的列表 li.append("seven") print(li) #c.请在列表的第1个位置插入元素“Tony”,并输出添加后的列表 li.insert(0,"Tony") print(li) #d.请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表 li[1] = "Kelly" print(li) #e.请删除列表中的元素“eric”,并输出修改后的列表 li.remove("eric") print(li) #f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表 lu = li.pop(1) print(lu,li) #g.请删除列表中的第3个元素,并输出删除元素后的列表 li.pop(2) print(li) #h.请删除列表中的第2至4个元素,并输出删除元素后的列表 li = ['alex','eric','rain','egon','lln'] li.pop(1) li.pop(1) li.pop(1) print(li) #i.请将列表所有的元素反转,并输出反转后的列表 li.reverse() print(li) #j.请使用for、len、range输出列表的索引 for i in range(len(li)) : print(i) #k.请使用enumrate输出列表元素和序号(序号从100开始) for index,item in enumerate(li,100): print(index, item) #l.请使用for循环输出列表的所有元素 for i in li : print(i)
写代码,有如下列表,请按照功能要求实现每一个功能
li=["hello",'seven',["mon",["h","kelly"],'all'],123,446] #a.请输出“Kelly” print(li[2][1][1]) #b.请使用索引找到'all'元素并将其修改为“ALL” li[2][2] = "ALL" print(li)
写代码,有如下元组,按照要求实现每一个功能
tu = ('alex','eric','rain') #a.计算元组长度并输出 print(len(tu)) #b.获取元组的第2个元素,并输出 print(tu[1]) #c.获取元组的第1-2个元素,并输出 a,b,_ = tu print(a,b) #d.请使用for输出元组的元素 for i in tu : print(i) #e.请使用for、len、range输出元组的索引 for i in range(len(tu)) : print(i) #f.请使用enumrate输出元祖元素和序号(序号从10开始) for index,item in enumerate(tu,10) : print(index,item)
有如下变量,请实现要求的功能
tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44]) print(tu) # a.讲述元祖的特性 #存多个值,元组不可变,主要是用来读 # b.请问tu变量中的第一个元素“alex”是否可被修改? #不可以 # c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven” # 列表 可以 tu[1][2]["k2"].append("Seven") print(tu) # d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven” # 元组 不可以
字典
dic={'k1':"v1","k2":"v2","k3":[11, 22, 33]}
#a.请循环输出所有的key
for key in dic :
print(key)
for key in dic.keys() :
print(key)
#b.请循环输出所有的value
for key in dic :
print(dic[key])
for value in dic.values() :
print(value)
#c.请循环输出所有的key和value
for key in dic :
print(key,dic[key])
for key,value in dic.items() :
print(key,value)
#d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
dic["k4"] = "v4"
print(dic)
#e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
dic["k1"] = "alex"
print(dic)
#f.请在k3对应的值中追加一个元素44,输出修改后的字典
dic["k3"].append(44)
print(dic)
#g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
dic["k3"].insert(0,18)
print(dic)
转换
# a.将字符串s="alex"转换成列表 s = "alex" s = list(s) print(s,type(s)) # b.将字符串s="alex"转换成元祖 s = tuple(s) print(s,type(s)) # c.将元祖tu=('Alex',"seven")转换成列表 tu=('Alex',"seven") tu = list(tu) print(tu,type(tu)) # d.将列表li=["alex","seven"]转换成字典且字典的key按照10开始向后递增 li=["alex","seven"] dic = {} for key,value in enumerate(li,10): dic.setdefault(key,value) print(dic,type(dic))
求1-100内的所有数的和
num = 0 for i in range(1,101) : num += i print(num)
元素分类
#有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。 #即:{'k1':大于66的所有值,'k2':小于66的所有值} x = {"k1":[],"k2":[]} y = [11,22,33,44,55,66,77,88,99,90] for i in y : if i > 66 : x["k1"].append(i) else : x["k2"].append(i) print(x)
购物车
#!/usr/bin/env python3 # _*_ coding:utf-8 _*_ # @Time : 2017/09/05 # @Author : tony # @File : shop_cart # @Version : 1.0 ''' 功能要求: 要求用户输入总资产,例如:2000 显示商品列表,让用户根据序号选择商品,加入购物车 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。 goods = [ {"name":"电脑","price":1999}, {"name":"鼠标","price":10}, {"name":"游艇","price":20}, ''' goods = [ {"name":"电脑","price":1999}, {"name":"鼠标","price":10}, {"name":"游艇","price":20}, ] tag = True # 标志位 shop_cart = [] # 购物车,此时空的 while tag: ppt = input('\033[45m Please input your property >>> \033[0m ').strip() if not ppt or not ppt.isdigit():continue for i,v in enumerate(goods,1): # enumerate() ,参数一,序列,参数二 ,序列开始的索引值的显示,默认 0 实际索引还是从0开始, print(i,v['name'],v['price']) ppt_l = 0 # 消费金额 while tag: num = input('Select item number add to shop_cart ').strip() if not num or not num.isdigit():continue elif int(num) == 1 or int(num) ==2 or int(num) == 3: num_l = int(num) n = goods[num_l - 1]['name'] # 根据用户输入的索引取 name p = goods[num_l - 1]['price'] # 获取价格 shop_cart.append(n) # add shop_cart ppt_l += p # 消费 else:continue print(shop_cart) while tag: cmd = input('Countinue to buy ? y or n ').strip() # 是否继续购买 if not cmd:continue # 输入为空, if cmd == 'n' or cmd =='N': # 不继续购买自动结帐 if ppt_l > int(ppt): # 如果商品金额大于账户余额 ,无法结帐 退出 print('余额不足') # 此处可以扩展充值接口 else: print('购买成功') # 反之 ,购买成功 print('\033[41m {0} \033[0m '.format(shop_cart)) # 打印购买的货 tag = False if cmd == 'y' or cmd == 'Y':break # 如果还是还想继续购买,返回上一层,继续选择 item number add to shop_cart

浙公网安备 33010602011771号