Python基础

1.Python是一种解释性语言,解释性语言最大优点是平台可移植性,最大缺点是执行效率低下(编译性语言缺点是不能跨平台/系统)。

2.当计算机硬件已经足够发达的时候,我们追求更多的并不是程序的执行效率,而是程序的开发效率。

说明:如果要在Linux环境下更新到Python 3.x版本需要通过源代码构建安装。

3.Python的官方网站下载Python的安装程序以及查看相关文档。

4.使用Python的包管理工具pip来安装第三方模块。

pip install ipython jupyter

python -m pip install ipython jupyter

5.第一个Python程序 - hello,world

"""
第一个Python程序
Version:0.5
Author:杨凡
Date:2015-2-2
Modifier:张三
Date:2018-2-5
"""
print('hello,world')
  • 如果想用交互式环境进行Python开发,那么可以使用ipython或者jupyter的notebook
    jupyter notebook
    
  • 如果团队开发以及需要使用多文件模块写作的大型项目,使用PyCharm的集成开发工具,前往JetBrains公司的官方网站 下载。

变量

1,变量的作用:变量是数据的载体,可以申请到内存储空间来存放数据,通过变量名可以对数据进行读和写操作。

2,变量的命名:三条必须遵守的规则:

  • a,可以字母和符号和下划线开头,不能数字和特殊字符开头;
  • b,字母大小写敏感;
  • c,不要关键字和保留字冲突。

经验提示:变量命名用全小写字母,多个单词用下划线连接,见名知意。

Python官方命名规则标准PEP8中一条建议:一条代码最好不要超过79个字符,如果超过最好分两行写

3,变量的类型:int整数、float浮点数、str字符串、bool布尔

运算符

1,赋值运算符:= 、 += 、 -= 、 *= 、 /=

2,算数运算符:+ 、 - 、 * 、 / 、 // 、 %

3,关系运算符:== 、 != 、 < 、 <= 、 > 、 >=

4,逻辑运算符:and与 or或 not逻辑变反

5,身份运算符:is

# 简单的运算
a = 13
b = 3
print(a + b)
print(a - b)
print(a * b)
print(a ** b)
print(a / b)
print(a // b)
print(a % b)
# a += b等同于a = a + b
print(a += b)
print(a -= b)
print(a *= b)
print(a /= b)
# 关系运算符输出结果为True或False
# 提示:由于浮点数表示法的问题,在实际开发的过程中请不要做浮点数的 == 和 != 运算
print(a == b)
print(a != b)

注释

注释在编程中有解释说明和提醒的作用,但在跑程序时不会影响程序运行。

以#加空格开头用在单行注释;

以三个引号开头和三个引号结尾用在多行注释。

分支结构

if elif else

简单的分支结构练习:给出三个数,如果能构成三角形,则计算这个三角形的周长和面积。

# import导入一个函数
import math

a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and b + c > a and a + c > b:
    perimeter = a + b + c
    print('周长: ' + str(perimeter))
    half = perimeter / 2
    area = math.sqrt(half * (half - a) * (half - b) * (half - c))
    print('面积: %d' % area)
else:
    print('三条边的长度不能构成三角形!')

循环结构

for--知道循环次数时使用;while--不知道循环次数时使用

简单的循环练习:把2-100内的所有素数打印出来

# 分支结构和循环结构语句后面都有冒号,缩进是四个空格或者一个Table键的距离(虽然Table更方便,但官方不推荐使用)
# 在for循环下如果用不到循环中的变量时通常用下换线代替变量

# range(2, 100)表示产生一个2-99的递增的整数数列
# range(3,100,3)后面的3表示步长,即:产生一个100内3的倍数的递增数列
for num in range(2, 101):
    is_prime = True
    for factor in range(2, num):
        if num % factor == 0:
            is_prime = False
            break
    if is_prime:
# print('%d' % num, end=',')%d表示占位符
# end=','表示分隔符为逗号,Python中print()是默认自动换行的
        print('%d' % num, end=',')

计算100内3和5的倍数的和

my_sum = 0
num = 0
while num < 101:
    if num % 3 == 0 or num % 5 == 0:
        my_sum = my_sum + num
    num += 1
print(my_sum)

输入三个数,找出最大的一个

a = int(input('a = '))
b = int(input('b = '))
c = int(input('c = '))
my_max = a > b and a or b

# 这个语句叫‘三元条件运算符’:条件成立取a,不成立取b
my_max = c > my_max and c or my_max
print(my_max)
# 分鱼游戏,5人捕了一群鱼,第二天一个人醒了均分了5份多了一条,把多的一条扔了拿走了自己的一份,
# 第二个人醒了把鱼均分了5份也多了一条,把多的一条扔了,拿走了自己的一份,
# 接着第三个、第四个、第五个人也是如此,问着5个人最少捕了多少条鱼?
fish = 1
while True:
    total = fish
    is_enough = True
    for _ in range(5):
        if (total - 1) % 5 == 0:
            total = (total - 1) // 5 * 4
        else:
            is_enough = False
            break
    if is_enough:
        print(fish)
        break
    fish += 1
'''
craps赌博游戏

规则:玩家掷两个骰子,每个骰子点数为1-6,如果第一次点数和为7或11,则玩家胜;如果点数和为2、3或12,则玩家输庄家胜。
若和为其他点数,则记录第一次的点数和,玩家继续掷骰子,直至点数和等于第一次掷出的点数和则玩家胜;若掷出的点数和为7则庄家胜。
'''
from random import randint

# 这里我设定的是玩家、庄家各有50000元,玩家压一注,庄家需要压玩家押金1.5倍,当其中一方输完游戏结束
person = 5000
pc = 5000
from random import randint

person = 5000
pc = 5000
num = 0
while True:
    person_bet = int(input('请玩家押注:'))
    face1 = randint(1, 6)
    face2 = randint(1, 6)
    first_point = face1 + face2
    print('玩家摇出了%d点' % first_point)
    go_on = False
    if first_point == 7 or first_point == 11:
        print('玩家胜!')
        person += (person_bet * 1.5)
        pc -= (person_bet * 1.5)
    elif first_point == 2 or first_point == 3 or first_point == 12:
        print('庄家胜!')
        person -= person_bet
        pc += person_bet
    else:
        go_on = True
    while go_on:
        face1 = randint(1, 6)
        face2 = randint(1, 6)
        current_point = face1 + face2
        print('玩家摇出了%d点' % current_point)
        if current_point == 7:
            print('庄家胜!')
            person -= person_bet
            pc += person_bet
            go_on = False
        elif current_point == first_point:
            print('玩家胜!')
            person += (person_bet * 1.5)
            pc -= (person_bet * 1.5)
            go_on = False
    num += 1
    print('玩了%d次'% num)
    print('玩家余额:%d' % person)
    print('庄家余额:%d' % pc)
    if person < person_bet:
        print('你的余额不足以押注')
    if pc < (person_bet * 1.5):
        print('庄家余额不足以下注')
    if person <= 0 or pc <= 0:
        print('game_over')
        break
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值