【python零基础入门学习】python基础篇之判断与for循环(二)

news2024/11/25 14:39:19

 本站以分享各种运维经验和运维所需要的技能为主

《python》:python零基础入门学习

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》暂未更新

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》持续更新中

判断语句以及for循环

判断语句:

if 条件:
    条件为真时执行的语句
else
    条件为假时执行的语句

if 条件:
    cmd1
elif 条件:
    cmd2
else:
    cmd3


练习:
if 3>0:
    print('ok')
    print('yes')

if 10 in [10,20,30]:
    print('OK')

if -0.0:
    print('yes')#任何值为0的数字都是False

if 1:
    print('yes')
    
if [1,2]:
    print('yes')#非空列表为True

if {1,2}:
    print('yes')#非空对象都是True

if (1,2):
    print('空元组为False')

if ' ':
    print('空格也是一个字符,非空为True')

if not None:
    print('None为False,取反为True')

测试结果:
ok
yes
OK
yes
yes
yes
空元组为False
空格也是一个字符,非空为True
None为False,取反为True

# a = 10
# b = 20
# if a < b :
#     smaller = a
# else :
#     smaller = b
# print(smaller)
#简化版:
a=10
b=20
smaller = a if a < b else b
print(smaller)

测试结果
10

判断学习实例:

登录账号:(密码输入的时候不显示)

import getpass #导入名为getpass的模块

uname = input('username: ')
upass = getpass.getpass('password: ')

if uname == 'bob' and upass == '123456' :
    print('登录成功')
else :
    print('登录失败')
------要在终端下用 python 进行运行py文件 才会显示效果

判断成绩:

grade = int(input("请输入你的成绩: "))
if grade > 90 :
    print("优秀")
elif grade > 80 :
    print("好")
elif grade > 70 :
    print("良")
elif grade > 60 :
    print("及格")
else :
    print("不及格,你需要更努力了")

try:-----输入不是整数的时候或者空的时候会报错
    g = int(input('g:'))
    if g > 90 :
        print('1111')
    elif g > 80 :
        print('111')
    elif g > 70:
        print('11')
    elif g > 60 :
        print('1')
    else:
        print('0')
except:
    print("输入整数")
------
score = int(input('分数: '))

if score >= 60 and score < 70:
    print('及格')
elif 70 <= score < 80:
    print('良')
elif 80 <= score < 90:
    print('好')
elif score >= 90:
    print('优秀')
else:
    print('你要努力了')

猜拳:

>>> import random
>>> random.choices(['aa','bb'])
['bb']
>>> random.choice(['aa','bb'])
'bb'
>>> random.randint(1,100)
14

import random
choices = ['拳头','剪刀','布']
#print(choices)
computer = random.choice(choices)
#print(computer)
while True:
    player = input('请出拳: ')
    print("mychoice:%s computer's choice:%s" % (player , computer))
    if player == computer:
        print('相同结果,请重新出拳: ')
        continue
    elif player == '拳头' and computer == '布' :
        print('你输了')
        break
    elif player == '拳头' and computer == '剪刀' :
        print('你赢了')
        break
    elif player == '布' and computer == '拳头' :
        print('你赢了')
        break
    elif player == '布' and computer == '剪刀' :
        print('你输了')
        break
    elif player == '剪刀' and computer == '布' :
        print('你赢了')
        break
    elif player == '剪刀' and computer == '拳头' :
        print('你输了')
        break

import random
choices = ['拳头','剪刀','布']
#print(choices)
computer = random.choice(choices)
#print(computer)
while True:
    player = input('请出拳: ')
    print("mychoice:%s computer's choice:%s" % (player , computer))
    if player == computer:
        print('相同结果,请重新出拳: ')
        continue
    elif player == '拳头' and computer == '剪刀' :
        print('你赢了')
        break
    elif player == '布' and computer == '拳头' :
        print('你赢了')
        break
    elif player == '剪刀' and computer == '布' :
        print('你赢了')
        break
    else:
        print('你输了')
        break

import random
choices = ['拳头','剪刀','布']
#print(choices)
win_list = [['拳头','剪刀'],['剪刀','布'],['布','拳头']]
inn = """(0)拳头
(1)剪刀
(2)布
请选择(0/1/2): """
while True:
    computer = random.choice(choices)
    # print(computer)
    ind = int(input(inn))
    player = choices[ind]
    print("mychoice:%s computer's choice:%s" % (player , computer))
    if player == computer:
        print('\033[032;1m相同结果,请重新出拳:\033[0m')
        continue
    elif [player,computer] in win_list:
        print('\033[31;1m你赢了\033[0m')
        break
    else:
        print('\033[31;1m你输了\033[0m')
        break

循环:

break:

  • 用于结束循环

#累加1+2+3+...+100
result = 0
counter = 1

while counter < 101:
    result += counter
    counter += 1

print(result)

#三盘两胜局:
# import random
# choices = ['拳头','剪刀','布']
# #print(choices)
# win_list = [['拳头','剪刀'],['剪刀','布'],['布','拳头']]
# inn = """(0)拳头
# (1)剪刀
# (2)布
# 请选择(0/1/2): """
# count = 0
# count2 = 0
#
# while count < 2 and count2 < 2:
#     computer = random.choice(choices)
#     # print(computer)
#     ind = int(input(inn))
#     player = choices[ind]
#     print("mychoice:%s computer's choice:%s" % (player , computer))
#     if player == computer:
#         print('\033[032;1m相同结果,请重新出拳:\033[0m')
#         continue
#     elif [player,computer] in win_list:
#         #print('\033[31;1m你赢了\033[0m')
#         count += 1
#         print('赢了%s次' % count)
#     else:
#         #print('\033[31;1m你输了\033[0m')
#         count2 += 1
#         print('赢了%s次' % count2)
#         
# if count == 2 :
#     print("你赢了")
# else:
#     print("你输了")

# while count < 2 and count2 < 2:
#     computer = random.choice(choices)
#     # print(computer)
#     ind = int(input(inn))
#     player = choices[ind]
#     print("mychoice:%s computer's choice:%s" % (player , computer))
#     if player == computer:
#         print('\033[032;1m相同结果,请重新出拳:\033[0m')
#         continue
#     elif [player,computer] in win_list:
#         #print('\033[31;1m你赢了\033[0m')
#         count += 1
#         print('赢了%s次' % count)
#     else:
#         #print('\033[31;1m你输了\033[0m')
#         count2 += 1
#         print('赢了%s次' % count2)
#         
# if count == 2 :
#     print("你赢了")
# else:
#     print("你输了")

#方法二:
# while 1:
#     computer = random.choice(choices)
#     # print(computer)
#     ind = int(input(inn))
#     player = choices[ind]
#     print("mychoice:%s computer's choice:%s" % (player , computer))
#     if player == computer:
#         print('\033[032;1m相同结果,请重新出拳:\033[0m')
#         continue
#     elif [player,computer] in win_list:
#         #print('\033[31;1m你赢了\033[0m')
#         count += 1
#         print('赢了%s次' % count)
#     else:
#         #print('\033[31;1m你输了\033[0m')
#         count2 += 1
#         print('赢了%s次' % count2)
#     if count == 2 or count2 == 2 :
#          break

continue:

# #1-100的偶数累加
# result = 0
# counter = 0
#
# while counter < 100:
#     counter += 1
#     if counter % 2 == 1:
#     if counter % 2 : 1为真 0为假
#         continue
#     else:(可有可无)
#         result += counter
#
# print(result)

else:

import random
num2 = random.choice(range(1,101))
count = 0
while count<7:
    count += 1
    num = int(input("请输入一个数字: "))
    if num > num2:
        print('大了')
    elif num < num2:
        print('小了')
    elif num == num2:
        print("中")
        break
    else:
        print('不要输入除了1-100之外的数字或者符号哦')
else:
    print("正确答案是:%s 你猜了%s次,你个辣鸡,别猜了" % (num2,count))

for: 

astr = 'hello'
alist = [10, 20, 30]
atuple = ('yyf', 'chao', 'yang')
adict = {'name':'yyf' , 'age':23}

for ch in astr:
    print(ch)

for i in alist:
    print(i)

for name in atuple:
    print(name)

for key in adict:
    print('%s:%s' % (key,adict[key]))

测试结果:
/root/nsd1907/bin/python /root/nsd1907/py02/day02/01.py
h
e
l
l
o
10
20
30
yyf
chao
yang
name:yyf
age:23

在终端用for循环的时候,也需要缩进
>>> a = 'wode'
>>> for i in a:
...     print(i)
... 
w
o
d
e

range用法:
>>> range(10)
range(0, 10)
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(6,10)
range(6, 10)
>>> list(range(6,10))
[6, 7, 8, 9]
>>> list(range(6,10,2))
[6, 8]
>>> list(range(1,10,2))
[1, 3, 5, 7, 9]
>>> list(range(10,1,-1))
[10, 9, 8, 7, 6, 5, 4, 3, 2]
>>> list(range(10,1))
[]
>>> list(range(10,1,-1))
[10, 9, 8, 7, 6, 5, 4, 3, 2]

# sum100 =0
#
# for i in range(1,101):
#     sum100 += i
#
# print(sum100)

列表实现斐波那契数列: 

# num = int(input('输入一个数字: '))
#
# fib = [0, 1]
#
# for i in range(num):
#     fib.append(fib[-1] + fib[-2])
#
# print(fib)

九九乘法:---for循环的嵌套使用

for i in range(1,4):#控制第几行的打印
    #每行之内再循环打印3个hello
    for j in range(1,4):  #行内重复打印3个hello
        print('hello',end=' ') #print默认在结尾打印回车,改为空格
    print() #每行结尾打印回车

for i in range(1,10):#控制第几行的打印
    #每行之内再循环打印3个hello
    for j in range(1,i+1):  #行内重复打印3个hello
        print('*',end=' ') #print默认在结尾打印回车,改为空格
    print() #每行结尾打印回车


n = int(input('number: '))

for i in range(1, n + 1):
    for j in range(1, i + 1):
        print('%s*%s=%s' % (j, i, i * j), end=' ')
    print()

 列表解析:

 

>>> [5]
[5]
>>> [5+5] ----将表达式的计算结果放到列表中
[10]
>>> [5+5 for i in range(10)] ---通过for循环控制表达式计算的次数
[10, 10, 10, 10, 10, 10, 10, 10, 10, 10]
>>> [5+i for i in range(10)]  ----再表达式中,使用for中的变量
[5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> [5+i for i in range(1,11)] ------
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
>>> [5+i for i in range(1,11) if i % 2 ==1] ---通过if判断语句实现过滤,满足判断条件时,才计算表达式
[6, 8, 10, 12, 14]
>>>
>>> ['192.168.1.' + str(i) for i in range(1,255) ]
>>> ['192.168.1.%s' % i  for i in range(1,255) ]
找出  192.168.1.1-254 的地址

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

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

相关文章

iTOP-RK3588开发板Android12 设置系统默认不休眠

修改文件&#xff1a; device/rockchip/rk3588/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults. xml 文件&#xff0c;如下图所示&#xff1a; - <integer name"def_screen_off_timeout">60000</integer> <integer name&q…

电子相册制作新技巧,让你惊叹不已!

​近年来&#xff0c;随着科技的不断进步&#xff0c;电子相册制作已经成为了一种流行的趋势。无论是记录旅行的美好瞬间&#xff0c;还是展示生活中的点滴幸福&#xff0c;电子相册都能够将这些珍贵的回忆永久保存下来。 在我们制作电子相册之前&#xff0c;我们需要选择一款专…

QQ邮件营销

邮件营销效果好的莫过于QQ邮件营销&#xff0c;QQ邮件收件会自动弹窗提示&#xff0c;邮件的阅读率是所有目前邮箱中最高的&#xff0c;而QQ邮件规则使用的叶贝思反垃圾邮件算法会有效防止一般的群发邮件&#xff0c;一米智能QQ邮件营销系统针对性的解决了这个难题。另外我们对…

00. 深入编程原理系列文章前言

名称的含义 为什么要用《从0到1&#xff0c;第一行代码》这个名字&#xff0c;有两重含义&#xff1a; 有一本很著名的书&#xff0c;就叫《从0到1》&#xff0c;表示从无到有的意思&#xff0c;这里也叫从0到1&#xff0c;表示代码到底怎么来的&#xff0c;程序到底是怎么运行…

Java 数据库改了一个字段, 前端传值后端接收为null问题解决

前端传值后端为null的原因可能有很多种&#xff0c;我遇到一个问题是&#xff0c;数据库修改了一个字段&#xff0c;前端传值了&#xff0c;但是后台一直接收为null值&#xff0c; 原因排查&#xff1a; 1、字段没有匹配上&#xff0c;数据库字段和前端字段传值不一致 2、大…

事前规划,事半功倍!与大家聊聊项目管理的重要性

大家好&#xff0c;我是你们的小米&#xff01;希望大家都过得开开心心&#xff0c;工作顺利&#xff0c;生活美满。今天我要和大家分享一个让我深有感触的话题——项目管理中的事前规划&#xff0c;以及它所带来的重要性。就在昨晚&#xff0c;我经历了一次让人啼笑皆非的经历…

数据通信——DHCP中继

一&#xff0c;实验背景 之前不是用DHCP来分配IP地址么&#xff01;现在该公司在核心交换机旁挂了一个专用的 DHCP Server 来为终端分配IP地址&#xff0c;那么现在你就要改下配置了&#xff0c;用DHCP中继完成IP分配。 中继的好处就是&#xff0c;我们仅需在中继上配好DHCP所需…

HarmonyOS扫码服务,应用服务一扫直达打造系统级流量新入口

二维码如今是移动应用流量入口以及功能实现的重要工具&#xff0c;也是各App的流量入口&#xff0c;是物、人、服务的连接器&#xff0c;通过扫码我们可以更便捷的生活&#xff0c;更高效的进行信息交互&#xff0c;包括信息的发布、信息的获取。 在日常扫码过程中&#xff0c…

机器学习面试的12个基础问题

毕业季找工作了&#xff1f;如果想应聘机器学习工程师岗位&#xff0c;你可能会遇到技术面试&#xff0c;这是面试官掂量你对技术的真正理解的时候&#xff0c;所以还是相当重要的。近日&#xff0c;JP Tech 发表了一篇文章&#xff0c;介绍了他们面试新人时可能会提出的 12 个…

Android 动画之插值器PathInterpolator

Android 的View动画、属性动画都可以设置动画插值器&#xff0c;以此来实现不同的动画效果。 这篇文章 Android View动画整理 有介绍各种插值器的效果&#xff0c;这一篇专访 PathInterpolator 。 参考官网 添加曲线动作 &#xff0c; PathInterpolator 基于 贝塞尔曲线 或 …

cocos 2.4 版本 设置物理引擎步长 解决帧数不一致的设备 物理表现不一致问题 设置帧刷新率

官网地址Cocos Creator 3.8 手册 - 2D 物理系统 官网好像写的不太对 下面是我自己运行好使的 PhysicsManager.openPhysicsSystem()var manager cc.director.getPhysicsManager();// 开启物理步长的设置manager.enabledAccumulator true;// cc.PhysicsManagercc.PhysicsManag…

MacBookPro重装系统图文教程

关机 长按电源按钮10s即可强制关机 快捷键选择 Intel Command-R&#xff1a;获得安装过的最新的 macOS&#xff0c;但不会升级到最高版Option-Command-R&#xff1a;获得与 Mac 兼容的最新版 macOSShift-Option-Command-R&#xff1a;获得 Mac 自带的 macOS 或者与它最接近且…

pycharm安装各种包,包括scipy,pulp方法

方法1 在终端输入pip install scipy&#xff0c;然后就会开始下载&#xff0c;可能下载速度不是很快。另外&#xff0c;如果pip没有更新的话&#xff0c;也会影响&#xff0c;你需要在终端输入 python -m pip install --upgrade pip来更新 方法二 在 点击加号后&#xff…

idea解决maven打包不存在报错

maven打包失败 方法一方法二方法三 方法一 删除~/.m2/repository/对应目录或目录下的*.lastUpdated文件&#xff0c;然后再次运行maven命令 方法二 maven命令后加-U&#xff0c;如mvn package -U 方法三

社恐人福音!皮雀app以兴趣为链接,打造陌生人社交新模式

新一代年轻人被各种生活、工作和强社交关系充斥&#xff0c;面临着巨大的社交压力&#xff0c;因此他们在社交的选择方向上&#xff0c;逐渐远离线下社交&#xff0c;去选择线上社交&#xff0c;不同于有心理负担的线下社交&#xff0c;线上社交具有更多的选择性。基于能为年轻…

各种排序算法性能对比

C数据结构与算法 目录 冒泡排序 ​ 插入排序 ​ 选择排序 ​ 上图中最后一列为&#xff1a;nn*(n-1)/2 ​

SAP-MM-冲销凭证布局变更

业务场景&#xff1a; 仓管员在冲销物料凭证时MBST&#xff0c;显示行很少&#xff0c;只有7行&#xff0c;提出需求调整布局为多行&#xff0c;但是MBST没有调整布局功能&#xff0c; 解决&#xff1a;点击“定制本地布局-选项-字体设置”调整字体大小 跟据需求调整字体&…

12、监测数据采集物联网应用开发步骤(9.1)

监测数据采集物联网应用开发步骤(8.2) TCP/IP Server开发 在com.zxy.common.Com_Para.py中添加如下内容 #锁机制 lock threading.Lock() #本机服务端端口已被连接客户端socket list dServThreadList {} #作为服务端接收数据拦截器 ServerREFLECT_IN_CLASS "com.plug…

1.2 BEV感知算法数据形式

本文来自自动驾驶之心知识星球的国内首个BEV感知全栈系列学习教程 Birds-eye-view (BEV) Perception: A Survey and Collection 什么是图像 1. 图像是由相机生成的&#xff0c;是将三维世界 中的坐标点&#xff08;单位为米&#xff09;映射到二维 图像平面&#xff08;单位像…

职场中的团队建设:超越任务,铸就默契

团队建设在职场中的重要性日益凸显。无论是初创公司还是大型企业&#xff0c;都需要一个高效、和谐且有创新能力的团队来推动业务发展。本文将深入探讨团队建设的活动和策略&#xff0c;帮助您构建一个卓越的团队。 1. 团队建设的重要性 提高团队凝聚力 团队凝聚力不仅仅是团…