小甲鱼python零基础入门学习(一)

news2024/12/25 0:41:20

目录

一、环境搭建和课程介绍

(1)安装最新版本的python3.x

(2)安装编辑器(找合适自己的)

二、用python设计第一个游戏

三、变量和字符串

(1)变量

(2)字符串

①单引号   '  ' 

②双引号   "  "

③三引号  """  """

四、是时候讲讲代码了

(1)字符串转换成整型

(2)比较运算符

(3)if ... else ...

五、改进我们的小游戏

改进:

知识点:

随机数复现:

六、数字类型

算数运算法:

七、布尔类型

①布尔运算:

②逻辑运算:and、or、not

八、短路逻辑和运算符优先级:

①短路逻辑:

②算数运算符优先级:not > and > or 

九、谋定而后动,知止而有得(画流程图)

①流程图(注重实现)

②思维导图(侧重设计)

十、分支和循环:

①if

将if语句==>条件表达式:

②循环(while)

(1)退出死循环:break

(2)while ... else  

(3)九九乘法表:

(4)for循环


一、环境搭建和课程介绍

(1)安装最新版本的python3.x

(2)安装编辑器(找合适自己的)

二、用python设计第一个游戏

""" 用Python设计第一个游戏"""

temp = input("不妨猜一下小甲鱼现在心里想的那个数字:")
guess = int(temp)
if guess == 8:
    print("你是小甲鱼心里的蛔虫嘛?")
    print("哼,猜中了也没有奖励")
else:
    print("猜错啦,小甲鱼现在心里想的是8")
print("游戏结束,不玩了")

注意:

(1)检查单词拼写

(2)检查标点符号

(3)注意缩进

三、变量和字符串

(1)变量

x = 3
y = 5
x, y = y, x  # 交换x和y的值,不需要临时变量
print(x, y)   # 5 3

(2)字符串

①单引号   '  ' 

②双引号   "  "

print('I love cc单引号')   # 单引号
print("I love cc双引号")   # 双引号
print("Let's go")   # 打印单引号
print('"Life is short,you need Python."')    # 打印双引号出来
print('"Life is short,Let\'s learn Python"')  # 转义字符

print("D:\\three\\two\\one\\now")   # 添加\ 转移下(但是如果路径很长的话,很麻烦)
print(r"D:\three\two\one\now")   # 可以直接在前面添加r即可。

③三引号  """  """

print("我每天都在学习\n"*5)  # 打印5行  我每天都在学习

四、是时候讲讲代码了

(1)字符串转换成整型

temp = input("12")
guess = int(temp)  # 将字符串转换成int型
print(temp)

(2)比较运算符

(3)if ... else ...

五、改进我们的小游戏

改进:

①当用户猜错的时候,程序应该给出提示

②应该提供多次机会给用户

③每次运行程序,答案应该是随机的

import random

randomNum = int(random.randint(1, 10))  # 生成随机数 random.randint(a, b)  返回随机整数N,满足 a<= N <=b
i = 3   # 用来控制循环次数
print("随机数是:", randomNum)
while i > 0:
    temp = input("请输入一个数字:")
    guess = int(temp)
    if guess == randomNum:
        print("好厉害,猜对了")
        break           # 猜对啦,那就直接跳出循环咯
    elif guess > randomNum:
        print("猜大了")
    else:
        print("猜小了")
    i = i - 1
print("结束咯,", randomNum)

知识点:

(1)while循环

(2)break语句

(3)循环嵌套 if ... else ...(if...else...)

(4)生成随机数 random

随机数复现:

""" 随机数重现 """
x = random.getstate()
for i in range(3):
    num = random.randint(1, 5)
    print(num)
print("随机生成完毕")

random.setstate(x)
for i in range(3):
    num = random.randint(1, 5)
    print(num)
print("复现随机数完毕")

六、数字类型

import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
c = decimal.Decimal('0.3')
print(a + b == c)       # True
print(a + b == 0.3)     # False

# E计数法,即科学计数法
print(0.00005)  # 5e-05

# 复数
x = 1+3j
print(x.real)  # 获取实部的值  1.0
print(x.imag)  # 获取虚部的值  3.0

算数运算法:

import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
c = decimal.Decimal('0.3')
print(a + b == c)       # True
print(a + b == 0.3)     # False


# E计数法,即科学计数法
print(0.00005)  # 5e-05

# 复数
x = 1+3j
print(x.real)  # 获取实部的值  1.0
print(x.imag)  # 获取虚部的值  3.0

# x // y  表示 取比目标结果小的最大整数。
print(3 // 2)   # 1
print(-3 // 2)  # -2

# divmod(x // y, x % y)
x = 3
y = 2
result = divmod(x // y, x % y)   # 地板除  余数
print(result)

# abs(y)  取绝对值
y = -91
print(abs(y))  # 91

# int(y)  取整,如果是小数的话,直接将小数点后面去掉。不是四舍五入
y = 9.99
print(int(y))  # 9

# float(y)  转换成浮点数

# complex(y)  转换成复数
y = 1+2j
print(complex(y))


#  x**y   表示x的y次方

#  pow(x, y)  两个参数:表示x的y次方  与 x**y等价。
# pow(x,y,z)  三个参数:x的y次方,结果在于z取余。
y = pow(2, 5, 10)
print("pow(2, 5, 10)=", y)

七、布尔类型

①布尔运算:

print(bool(250))  # True
print(bool("False"))  # True
print(bool(False))      # False
print(bool(" "))  # True
print(bool(""))  # False
print(bool(0))  # False
print(bool(0j))     # False
print(bool(0.0))    # False

"""
    以下定义bool() 的都是False:
    
        定义为False的对象:None和False
        值为0的数字类型:0, 0.0, 0j, Decimal(0), Fraction(0,1)
        空的序列和集合:'', (), [], {}, set(), range(0)
"""
print("=======")
print(True == 1)    # True
print(False == 0)   # True
print(True + False)     # 1
print(True * False)     # 0
print(True / False)   # 报错,分母不能为0

②逻辑运算:and、or、not

八、短路逻辑和运算符优先级:

①短路逻辑:

"""
问题:
    x = ((not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9))
    print(x)  # 4


    and 和 or 进行短路运算
    3 and 4 # 4   左右同时为true才为true,因此必须判断右边值的结果是否为true
    3 or 4 # 3
    
    短路逻辑的核心思想:从左往右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。
    or:如果第一个数的bool结果为True,就直接丢这个数;否则,就就把后面的数丢出来作为答案。
"""

x = ((not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9))
    #  False  or  0 or 4 or 6 or 9
print(x)  # 4  所以,结果为4

②算数运算符优先级:not > and > or 

"""算数运算符的优先级  not > and > or """
x = not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
print(x)  # 4 结果还是4   运算优先级:not > and > or

九、谋定而后动,知止而有得(画流程图)

①流程图(注重实现)

②思维导图(侧重设计)

十、分支和循环:

①if

score = input("请输入你的分数:")
score = int(score)
if 0 <= score < 60:
    print("D")
elif 60 <= score < 80:
    print("C")
elif 80 <= score < 90:
    print("B")
elif 90 <= score < 100:
    print("A")
elif score == 100:
    print("S")
else:
    print("请输入0-100之间的数值")

将if语句==>条件表达式:

age = 16
print("抱歉,未满18岁") if age < 18 else print("欢迎")
# 例子:
a = 2
b = 5

small = a if a < b else b
print(small)
#例子
score = 66
level = ('D' if 0 <= score < 60 else
         'C' if 60 <= score < 80 else
         'B' if 80 <= score < 90 else
         'A' if 90 <= score <= 100 else
         "请输入0-100之间的分值")
print(level)

②循环(while)

(1)退出死循环:break

i = 1
sum = 0
while i <= 10:
    sum += i
    i += 1
print(sum)

(2)while ... else  

""""
while  else   可以在不使用标志位的情况下,退出循环。
    else 当while循环里面的break跳出时,不会执行else里面的语句。
"""
day = 1
while day <= 7:
    answer = input("今天有好好学习么?")
    if answer != '有':
        break
    day += 1
else:
    print("good,已经坚持7天学习啦")

(3)九九乘法表:

# 九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(j, "*", i, "=", i*j, end=" ")
        j += 1
    print()
    i += 1

""" 
    无论是break还是continue 只能作用于一层循环体。
"""

(4)for循环

for 变量 in 可迭代对象:

        statement(s)

for each in "English":
    print(each)     # E n g  l  i  s  g

for i in range(10):     # range(10) 生成0-9之间的数字
    print(i)   # 0 1 2 3 4 5 6 7 8 9

for i in range(5, 10):  # range(5, 10) 生成5-9之间的数字   左闭右开
    print(i)    # 5 6 7 8 9

for i in range(5, 10, 2):       # range(5, 10, 2) 生成5-9之间的数字   左闭右开,且步长为2
    print(i)      # 5 7 9
    

(5)找素数:

# 找出10以内的所有素数。
"""  for ... else... """
for i in range(2, 10):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        print("是素数", i)

继续学习咯!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1183593.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Redis】Redis整合SSMRedis注解式缓存Redis中的缓存穿透、雪崩、击穿的原因以及解决方案(详解)

目录&#xff1a; 目录 一&#xff0c;SSM整合redis 二&#xff0c;redis注解式缓存 三&#xff0c;Redis中的缓存穿透、雪崩、击穿的原因以及解决方案&#xff08;附图&#xff09; 一&#xff0c;SSM整合redis 1.原因&#xff1a; 整合SSM和Redis可以提升系统的性能、可…

力扣每日一题 ---- 2918. 数组的最小相等和

贪心题(吐槽一下&#xff0c;最烦贪心题了&#xff0c;每次遇到没见过的就只能连蒙带骗) 好在本题比较容易发现 数组1 &#xff1a;3 2 0 1 0 数组2 &#xff1a;6 5 0 我们遇到这种题&#xff0c;先将小的凑成相同的&#xff0c;(我们预处理出来两个数组的分别的元素和和0的个…

【单链表】无头单项不循环(1)

目录 单链表 主函数test.c test1 test2 test3 test4 头文件&函数声明SList.h 函数实现SList.c 打印SLPrint 创建节点CreateNode 尾插SLPushBack 头插SLPushFront 头删SLPopBck 尾删SLPopFront 易错点 本篇开始链表学习。今天主要是单链表&OJ题目。 单链…

c++对接CAT1400

最近工作中遇到需要对接1400协议,网上搜索不到c/c++的实现,所以记录一下自己的实现。 第一步注册: 1400是在http摘要认证的基础上做的,所以要去了解http摘要认证的流程 说明: 1.视图库通过用户分配,手动分配username,password给三方对接程序 2.三方对接程序第一次请求由…

技术硬实力:成为项目经理的必备要素

要成为一位合格的项目经理&#xff0c;仅仅通过学习是不够的&#xff0c;还需要通过实践来积累经验。时间永远是增长经验最好的方法。 对于项目经理的角色&#xff0c;普遍有两种看法&#xff1a; 一种是技术型&#xff1a; 这种观点强调项目经理必须具备过硬的技术能力&am…

Leetcode—2609.最长平衡子字符串【简单】

2023每日刷题&#xff08;二十三&#xff09; Leetcode—2609.最长平衡子字符串 实现代码 class Solution { public:int findTheLongestBalancedSubstring(string s) {int zeros 0;int ones 0;int ans 0;int n s.size();for(int i 0; i < n; i) {int t s[i] - 0;if(…

Python - 面向现实世界的人脸复原 GFP-GAN 简介与使用

目录 一.引言 二.GFP-GAN 简介 1.GFP-GAN 数据 2.GFP-GAN 架构 3.GFP-GAN In Wave2Lip 三.GFPGAN 实践 1.环境搭建 2.模型下载 3.代码测试 4.测试效果 四.总结 一.引言 近期 wav2lip 大火&#xff0c;其通过语音驱动唇部动作并对视频质量进行修复&#xff0c;其中…

dd爱科学1.0(最长不下降子序列)

解析&#xff1a; 要求序列非递减&#xff0c;只需求出最长不上升子序列即可&#xff0c;其余位置则需要修改。 #include<bits/stdc.h> using namespace std; #define int long long const int N1e65; int n,dp[N]; void solve(){string s;cin>>n>>s;int cn…

Kubernetes 亲和性 反亲和性 污点 容忍及维护驱逐

亲和性 官方网站&#xff1a; https://kubernetes.io/zh/docs/concepts/scheduling-eviction/assign-pod-node/&#xff08;1&#xff09;节点亲和性 pod.spec.nodeAffinity ●preferredDuringSchedulingIgnoredDuringExecution&#xff1a;软策略 ●requiredDuringSchedulin…

如何在后台执行 SwiftData 操作

文章目录 前言Core Data 私有队列上下文SwiftData 并发支持使用 ModelActor合并上下文更改的问题通过标识符访问模型总结 前言 SwiftData 是一个用于处理数据操作的框架&#xff0c;特别是在 Swift 语言中进行并发操作。本文介绍了如何在后台执行 SwiftData 操作以及与 Core D…

九州未来入选2023边缘计算TOP100,边缘计算能力再获认可

近日&#xff0c;德本咨询、互联网周刊、中国社会科学院信息化研究中心联合发布 “2023边缘计算TOP100”榜单&#xff0c;九州未来凭借领先的技术优势、产品服务能力、落地实践经验等综合实力入选。 数字时代&#xff0c;算力成为第一生产力。边缘计算凭借其低时延、节省带宽、…

FL Studio2024破解版激活码序列号

对于唱作人来说&#xff0c;一款优秀、全能的音乐制作软件&#xff0c;能帮助他们在创作上获得更多的灵感、以及为歌曲带来更多的变化。 FL Cloud 音效库包含开放版权的Loop和采样&#xff0c;以及来自 FL Studio 著名用户的艺术家独家内容。更新后&#xff0c;现在还可以使用…

软约束与硬约束

软约束硬约束 软约束硬约束 硬约束优化 1.基于走廊的光滑轨迹生成 2.基于贝塞尔曲线的轨迹优化 软约束优化 1.基于距离的轨迹优化 2.目标函数的设计 目标函数 光滑代价函数 碰撞代价函数 动力学代价函数。 光滑代价函数&#xff1a; 使用minimum snap来实现。 碰撞…

代码随想录第四十五天 | 动态规划 完全背包的应用:爬楼梯改编;求最小个数,循环顺序无影响(322 零钱兑换,279 完全平方数)

1、爬楼梯改编 之前讲这道题目的时候&#xff0c;因为还没有讲背包问题&#xff0c;所以就只是讲了一下爬楼梯最直接的动规方法&#xff08;斐波那契&#xff09; 改为&#xff1a;一步一个台阶&#xff0c;两个台阶&#xff0c;三个台阶&#xff0c;…&#xff0c;直到 m个台…

nanodet训练自己的数据集、NCNN部署到Android

nanodet训练自己的数据集、NCNN部署到Android 一、介绍二、训练自己的数据集1. 运行环境2. 数据集3. 配置文件4. 训练5. 训练可视化6. 测试 三、部署到android1. 使用官方权重文件部署1.1 下载权重文件1.2 使用Android Studio部署apk 2. 部署自己的模型【暂时存在问题】2.1 生成…

MCUXpresso GBK 汉字编码 lcd显示用

在上面添加 -fexec-charsetGBK &#xff0c;之后IDE就可以解码&#xff08;GBK&#xff09;汉字了

高防CDN与高防服务器:谁更胜一筹?

在当今数字化世界中&#xff0c;网络安全对于保护网站和应用程序至关重要。在这一背景下&#xff0c;高防CDN和高防服务器是两种流行的解决方案&#xff0c;用于应对不同类型的网络攻击。本文将分析高防CDN是否能够替代高防服务器&#xff0c;以及它们各自的优势和限制。 高防C…

数据库 高阶语句

目录 数据库 高阶语句 使用select 语句&#xff0c;用order by来对进行排序 区间判断查询和去重查询 如何对结果进行分组查询group by语句 limit 限制输出的结果记录&#xff0c;查看表中的指定行 通配符 设置别名&#xff1a;alias 简写就是 as 使用select 语句&#x…

用C++编写动画+音频版极乐净土

#define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<graphics.h> #include<Windows.h> #include<MMSystem.h>//播放音乐所需要的头文件 #pragma comment(lib,"winmm.lib")//告诉编译器&#xff0c;加载winmm.lib库文件 #define C…

文件包含漏洞培训

CTF介绍 MISC(Miscellaneous)类型,即安全杂项,题目或涉及流量分析、电子取证、人肉搜索、数据分析等等。CRYPTO(Cryptography)类型,即密码学,题目考察各种加解密技术,包括古典加密技术、现代加密技术甚至出题者自创加密技术。PWN类型,PWN在黑客俚语中代表着攻破、取得权限…