【python】python基础教程

python学习资料参考

牛客python学习路径
菜鸟教程查找python用法

练习题

2.3 第一个程序

2.3.1

输入名字x,利用print 语句:“Hello,x, how are you”,例如x为Xiaoming, 输出”Hello, Xiaoming, how are you”

x=input()
print('Hello,',x,'how are you')

报警处理
报警

C:\Master\python>python hello.py
Please input your name:d
Traceback (most recent call last):
 File "hello.py", line 2, in <module>
   x=input('Please input your name:')
 File "<string>", line 1, in <module>
NameError: name 'd' is not defined
C:\Master\python>python3 hello.py
di
Hello, di how are you

python版本问题 安装了python2和python3两个版本 python默认为python2
同时安装python2和python3见
python2和python3共存

3.1 数据类型和变量量

3.1.1

输入整形值x,输出x的平方和x的立方。例如输入2,输出4和8.

x=input()
print(x*x,x*x*x)

错误报警

Traceback (most recent call last):   File "hello.py", line 6, in <module>     print(x*x,x*x*x) TypeError: can't multiply sequence by non-int of type 'str'

python3 里面将input返回的默认为str类型
使用这种用法将input类型转换
python3中input输入浅谈

x=int(input())
print(x**2,x**3)

3.1.2

分别输入整数a和b,如果a大于b输出Good,如果a小于b输出Bad,如果a等于b,输出Equal

a=int(input())
b=int(input())
if a>b:
	print('Good')
if a<b:
	print('Bad')
if a==b:
	print('Equal')

3.2 字符串串和编码

3.2.1

格式化如下语言:”你好,我叫xx,我在牛客网上学习xx,我希望通过学习后我能找到一个月薪xx的工作。”

遇到报错

C:\Master\python>python3 hello.py
  File "hello.py", line 20
SyntaxError: Non-UTF-8 code starting with '\xc4' in file hello.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

解决方法
试过在最上面加

# coding=gbk

依然没有解决问题,在菜鸟教程里面找到了解决方法
注意:如果你使用编辑器,同时需要设置 py 文件存储的格式为 UTF-8
成功解决问题

print("你好,我叫%s,我在牛客网上学习%s,我希望通过学习后我能找到一个月薪%s的工作。"%('rita','python','10k'))

3.3 基础语法

3.3.1 条件语句

小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:低于18.5:过轻。18.5-25:正常,25-28:过重,28-32:肥胖,高于32:严重肥胖

print("来看看你的BMI情况吧(⊙o⊙)?")
height=float(input('height:'))
weight=float(input('weight:'))
BMI=weight/(height**2)
if BMI<18.5:
	print("过轻")
elif(BMI>18.5 and BMI<=25):
	print("正常")
elif(BMI>25 and BMI<=28):
	print("过重")
elif(BMI>28 and BMI<=32):
	print("肥胖")
else:
	print("严重肥胖")

注意:else if的写法

3.3.2 for…in循环

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

三层for循环

sum=0
for i in range(1,5):
	for j in range(1,5):
		for k in range(1,5):
			if(i!=j and i!=k and j!=k):
				print(i,j,k)
				sum=sum+1
print(sum)

3.3.3 while循环

要计算100以内所有偶数之和,用while循环实现:

n=100
sum=0
while n>0:
	sum=sum+n
	n=n-2
print(sum)

3.3.4 用break结束循环

从100反向到1开始打印数字,直到打印的数字是17的倍数后停止。

n=100
while n>=1:
	print(n)
	n=n-1
	if(n%17==0):
		break

3.3.5 用continue语句跳过某些循环

从1到50,间隔步长1,打印数字,如果打印的数字是15的倍数,则跳过这次打印。即打印出不是15倍数的数字。

n=0
while n<50:
	n=n+1
	if n%15==0:
		continue
	print(n)

3.4 python的特性(list,tuple et)

3.4.1 list

删除list末尾的元素,用pop()方法
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素

交互模式

C:\Master\python>python3
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> name=['A','B','C','D']
>>> name.pop()
'D'
>>> name[0]
'A'
>>> name[-1]
'C'

代码

#用print打印列表值
name=['A','B','C','D']
name.pop()
print(name[0])
print(name[-1])

3.4.2

定义一个元组,元组里面的内容为A,B,C顺序输出元组里面的内容。要求按行输出:

tuple一旦初始化就不能修改

t=('A','B','C')
for i in range(0,3):
	print(t[i])

4.1 调用函数

通过学习本章,可以掌握一些系统常用的函数,比如转整形(int),转浮点型(float),求绝对值函数(abs)等。

4.1.1 求绝对值的函数abs

输入一个字符串-13.14,将其转为浮点型,并输出其绝对值。

x=input()
x=float(x)
print(abs(x))

4.1.2 引入Python中math包

引入Python中math包,输入一个弧度值,求出其正弦值(sin)

4.2 创建函数

4.2.1 定义一个函数

定义一个函数func,该函数传入两个整形变量x,y,返回x加y的结果和x减y的结果。输出返回结果。

#函数定义
def func(x,y):
	return x-y,x+y
#函数调用(在函数定义的文件hello.py目录下启动Python解释器)
>>> from hello import func
>>> func(1,3)
(-2, 4)

4.3 函数参数

4.3.1 定义可变参数

自己定义一个函数,该函数的输入参数为可变列表,输出这个列表中所有数据的累加和。

def calc(*nums):
	sum=0
	for num in nums:
		sum=sum+num
	return sum

print(calc(1,2,3,8))
print(calc(9,5,6))

4.4 递归函数

4.4.1

用递归函数实现1加到50。

def sum(n):
	if n==1:
		return 1
	return n+sum(n-1)
	
print(sum(50))

4.4.2

用递归的方法实现二分查找并测试。(如果对二分查找不熟悉,可以自行百度)。

汉诺塔问题递归实现

没有更多推荐了,返回首页