注重实践

要学好一样东西,每天的练习是必不可少的。就算这天个人状态很差,或者说学习的课题实在太难,你也不必介意,只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣了。

IDLE:

是一个Python Shell, shell的意思就是外壳。大意就是一个通过键入文本与程序交互的途径。

像我们cmd、Linux的命令窗口,都是shell,利用这些,我们就可以给操作系统下达命令。同样的,我们可以利用IDLE这个shell与Python进行互动。

BIF:Built-in Functions,内置函数。


Shell基本操作键

1、强制终止:Ctrl + C

2、换行方法:Ctrl+J、和\n(这个是反斜杠)

退出快捷键:Ctrl+Q

3、shell一行书写多个语句,两句之间可用;分开

>>> print('I love fishc');print('very much!')

4、直接敲c和print(c),两者的区别是?

print(c)一个只有结果

c       展示其类型与结果

5、python要全英文的标点符号

6、注释:#,也可以起到暂时禁用的作用。’octothorpe(八角帽)’,’pound(英镑符)’, ‘hash(电话的#键)’,‘mesh(网)。

如果 # 是注解的意思,那么为什么 # -- coding: utf-8 -- 能起作用呢?

Python 其实还是没把这行当做代码处理,这种用法只是让字符格式被识别的一个取巧的方案,或

者说是一个没办法的办法吧。在编辑器设置里你还能看到一个类似的注解。

7、倒着阅读代码 差错

输入数字,进行进制转换

def fun():
    num = int(input('请输入一个十进制的整数'))#将str类型转换为int类型
    print(num,'的二进制数为:',bin(num))#第一种写法,使用了个数可变的位置参数
    print(str(num)+'的二进制数为: '+bin(num)) #第二种写法,用“+”作连接符
    print('%s的二进制数为:%s' % (num,bin(num))) #第三种写法,格式化字符串
    print('{0}的二进制数为:{1}'.format(num,bin(num)))
    print(f'{num}的二进制数为:{bin(num)}')
    print('-------------------------------------')
    print(f'{num}的八进制数为:{oct(num)}')
    print(f'{num}的十六进制数为:{hex(num)}')

if __name__ == '__main__':
	while True:
		try:
			fun()
			break
		except:
			print('只能输入整数!程序错误,请重新输入')

结果

请输入一个十进制的整数11
11 的二进制数为: 0b1011
11的二进制数为: 0b1011
11的二进制数为:0b1011
11的二进制数为:0b1011
11的二进制数为:0b1011
-------------------------------------
11的八进制数为:0o13
11的十六进制数为:0xb

支付密码的输入合法性验证

pwd = input('支付宝支付密码:')
if pwd.isdigit():
	print('支付数据合法')
else:
	print('支付数字不合法,支付密码只能是数据')
	
print('-------------------------')
pwd = input('支付宝支付密码:')
print('支付数据合法') if pwd.isdigit() else '支付数字不合法,支付密码只能是数据'

计算100-999之间的水仙花数

import math
for i in range(100,1000):
	if math.pow((i%10),3) + math.pow((i//10%10),3)+math.pow(i//100,3)==i:
		print(i)
#pow是次方

千年虫

82年---1982年,00年---2000年

year=[82,89,88,85,86,00,99]
print('原列表:',year)
for index,value in enumerate(year):
    #print(index,value)
    if str(value)!='0':
        year[index]=int('19'+str(value))
    else:
        year[index]=int('200'+str(value))

print('修改之后的列表:',year)
year.sort()
print('排序之后的列表为:',year)

网上购物流程

要购买的物品、购物车内容展示、

list_goods = []
for i in range(0, 3):
    goods = input('入库:请输入商品编号和商品名称,每次只能输入一件')
    list_goods.append(goods)
for item in list_goods:
    print(item)

cart = []
while True:
    num = input('请输入要购买的商品编号:')
    for item in list_goods:
        if item.find(num) != -1:
            cart.append(item)
            break
    if num == 'q':
            break
print('您购物车里已经选好的商品为:')
for m in cart:
    print(m)
print('您购物车里已经选好的商品为:')
for i in range(len(cart)-1,-1,-1):
	print(cart[i])
结果
入库:请输入商品编号和商品名称,每次只能输入一件1 a
入库:请输入商品编号和商品名称,每次只能输入一件2 b
入库:请输入商品编号和商品名称,每次只能输入一件3 d
1 a
2 b
3 d
请输入要购买的商品编号:2
请输入要购买的商品编号:1
请输入要购买的商品编号:q
您购物车里已经选好的商品为:
2 b
1 a

enumerate()

coffee_name = ('蓝山', '卡布奇诺', '拿铁', '皇家咖啡', '女巫咖啡', '美丽与哀愁')
print('您好!欢迎光临小瞄咖啡屋')

print('本店经营的咖啡有:')
for index, item in enumerate(coffee_name):
    print(index + 1, '.', item, end=' ')

index = int(input('\n请输入您喜欢的咖啡编号:'))
if 0 <= index <= len(coffee_name):
    print(f'您的咖啡[{coffee_name[index - 1]}]好了,请您慢用')
您好!欢迎光临小瞄咖啡屋
本店经营的咖啡有:
1 . 蓝山 2 . 卡布奇诺 3 . 拿铁 4 . 皇家咖啡 5 . 女巫咖啡 6 . 美丽与哀愁 
请输入您喜欢的咖啡编号:2
您的咖啡[卡布奇诺]好了,请您慢用

统计字符串中出现指定字符的次数

def get_count(s,ch):
    count = 0
    for item in s:
        if ch.upper()==item or ch.lower()==item:
            count+=1
    return count

if __name__ == '__main__':
    s='hellopython,helklojava,helloc'
    ch=input('请输入要统计的字符:')
    count=get_count(s,ch)
    print(f'{ch}在{s}中出现的次数为:{count}')

结果

请输入要统计的字符:p
p在hellopython,helklojava,helloc中出现的次数为:1

简易计算器

def calc(a,b,op):
    if op=='+':
        return add(a,b)
    elif op=='-':
        return sub(a,b)
    elif op=='*':
        return mul(a,b)
    elif op=='/':
        if b!=0:
            return div(a,b)
        else:
            return '除数不能为0'
def add(a,b):
    return a+b
def sub(a,b):
    return a-b
def mul(a,b):
    return a*b
def div(a,b):
    return a/b

if __name__ == '__main__':
    a = int(input('请输入第一个整数:'))
    b = int(input('请输入第二个整数:'))
    op = input('请输入运算符:')
    print(calc(a,b,op))

编写程序输入学员成绩:异常检测

try:
    score = int (input('请输入分数:'))
    if 0<=score<=100:
        print('分数为:',score)
    else:
        raise Exception('分数不正确')
except Exception as e:
    print(e)

没有try的话编译器自己就报错了 太麻烦咯

编写程序,判断三个参数能否构成三角形 异常检测

def is_triangle(a,b,c):
    if a<0 or b<0 or c<0:
        raise Exception('三条边不能是负数')

    #判断是否构成三角形
    if a+b>c and b+c>a and a+c>b:
        print(f'三角形边长为a={a},b={b},c={c}')
    else:
        raise Exception(f'a={a},b={b},c={c},不能构成三角形')
if __name__ == '__main__':
        try:
            a = int(input('请输入第一条边'))
            b = int(input('请输入第二条边'))
            c = int(input('请输入第三条边'))
        except Exception as e:
            print(e)

Thank you for downloading PyCharm! (jetbrains.com)

案例

1、创建一个文本文件,并输入Hello

方法一:print输出到文件

fp=open('D:\\test.txt','w')
print('Hello,world!',file=fp)
fp.close

方法二:文件读写操作

with open('D:\\test1.txt','w') as file:
	file.write('Hello!')

2、连线。

方法一:

list_name = ['林黛玉','薛宝钗','贾元春','贾探春','史湘云']
list_sig = ['1','2','3','4','5']
for i in range(5):
	print(list_sig[i],list_name[i])

方法二:

d = {'1':'林黛玉','2':'薛宝钗','3':'贾元春','4':'贾探春','5':'史湘云'}
print('''--------------------------------------- ''')
for key in d:
	print(key,d[key])

方法三:

list_name = ['林黛玉','薛宝钗','贾元春','贾探春','史湘云']
list_sig = ['1','2','3','4','5']
for s,name in zip(list_sig,list_name):
	print(s,name)
xiaogu
1 林黛玉
2 薛宝钗
3 贾元春
4 贾探春
5 史湘云
www.cnblogs.com/lY-c/p/9112720.html

3、

height = 170
weight = 50.5
bmi = weight/(height+weight)
#print('您的身高是:', height)
print('您的身高是:'+str(height))
print('您的体重是:'+str(weight))
print('您的BMI的指数是:' + str(bmi))
print('您的BMI的指数是:' +'{:0.2f}'.format(bmi))

结果

您的身高是:170
您的体重是:50.5
您的BMI的指数是:0.2290249433106576
您的BMI的指数是:0.23


4、十进制转化为二进制、八进制、十六进制

num = int(input('请输入一个十进制的整数')) #将str类型转换成int类型
print(num,'的二进制数为:', bin(num))#第一种写法﹐使用了个数可变的位置参数
print(str(num)+'的二进制数为:' +bin(num))#第二种写法,使用"+"作为连接符-(+的左右均为str类型)
print('%s的二进制数为:%s’% (num, bin(num)))#第三种写法,格式化字符串
print(''{0}的二进制数为:{1}'.format (num, bin(num)))#第三种写法,格式化字符串print(f'(num}的二进制数为:{bin(num)} ')#第三种写法,格式化字符串
print('-------——----——-----——----——-------')
print(f’{num}的八进制数为: {oct(num)}')
print(f'(num}的十六进制数为:{hex (num)}')
def fun:
    num = int(input(’请输入一个十进制的整数')) #将str类型转换成int类型
    print(num,'的二进制数为:', bin(num))#第一种写法﹐使用了个数可变的位置参数
    print(str(num)+'的二进制数为:' +bin(num))#第二种写法,使用"+"作为连接符-(+的左右均为str类型)
    print('%s的二进制数为:%s’% (num, bin(num)))#第三种写法,格式化字符串
    print(''{0}的二进制数为:{1}'.format (num, bin(num)))#第三种写法,格式化字符串print(f'(num}的二进制数为:{bin(num)} ')#第三种写法,格式化字符串
    print('-------——----——-----——----——-------')
    print(f’{num}的八进制数为: {oct(num)}')
if __name__ -== '__main__' :
	while True:
		try:
			fun()
			break
		except:
			print(’只能输入整数!,程序出错,请重新输入’)

循环打印10次

i = 0;
while(i<10):
	print("welcome,python");
	i += 1;

求最大约数

def showMaxFactor(num):
    count = num//2
    while count > 1:
        if num % count == 0:
            print('%d最大的约数是%d'%(num,count))
            break
        count -= 1
    else:
        print('%d是素数!'%num)

num = int(input('请输入一个数:'))
showMaxFactor(num)

--------------------------- “朝着一个既定的方向去努力,就算没有天赋,在时间的积累下应该也能稍稍有点成就吧。”