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('33[41;10m welcome  login 33[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('33[41;10m welcome  login 33[41;0m')
        break

    else:
        print('33[31;10m user_name or password Error 33[32;0m ')
        count += 1      # 控制次数
else:
    print('33[31;10m Too many inputs33[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('33[45m Please input your property >>> 33[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('33[41m {0} 33[0m '.format(shop_cart))    # 打印购买的货
                    tag = False
            if cmd == 'y' or cmd == 'Y':break       # 如果还是还想继续购买,返回上一层,继续选择 item number add to shop_cart
原文地址:https://www.cnblogs.com/liushubao/p/7464789.html