python小例题
注重实践
要学好一样东西,每天的练习是必不可少的。就算这天个人状态很差,或者说学习的课题实在太难,你也不必介意,只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣了。
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
python-pycharm控制台输出带颜色 - L·C - 博客园 (cnblogs.com)
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)