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

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

《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的数字都是Falseif 1:print('yes')if [1,2]:print('yes')#非空列表为Trueif {1,2}:print('yes')#非空对象都是Trueif (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)
14import 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('相同结果,请重新出拳: ')continueelif player == '拳头' and computer == '布' :print('你输了')breakelif player == '拳头' and computer == '剪刀' :print('你赢了')breakelif player == '布' and computer == '拳头' :print('你赢了')breakelif player == '布' and computer == '剪刀' :print('你输了')breakelif player == '剪刀' and computer == '布' :print('你赢了')breakelif player == '剪刀' and computer == '拳头' :print('你输了')breakimport 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('相同结果,请重新出拳: ')continueelif player == '拳头' and computer == '剪刀' :print('你赢了')breakelif player == '布' and computer == '拳头' :print('你赢了')breakelif player == '剪刀' and computer == '布' :print('你赢了')breakelse:print('你输了')breakimport 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')continueelif [player,computer] in win_list:print('\033[31;1m你赢了\033[0m')breakelse:print('\033[31;1m你输了\033[0m')break

循环:

break:

  • 用于结束循环

#累加1+2+3+...+100
result = 0
counter = 1while counter < 101:result += countercounter += 1print(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 += 1num = int(input("请输入一个数字: "))if num > num2:print('大了')elif num < num2:print('小了')elif num == num2:print("中")breakelse: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
erange用法:
>>> 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个hellofor j in range(1,4):  #行内重复打印3个helloprint('hello',end=' ') #print默认在结尾打印回车,改为空格print() #每行结尾打印回车for i in range(1,10):#控制第几行的打印#每行之内再循环打印3个hellofor j in range(1,i+1):  #行内重复打印3个helloprint('*',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.rhkb.cn/news/118617.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

flutter plugins插件【二】【FlutterAssetsGenerator】

2、FlutterAssetsGenerator 介绍地址&#xff1a;https://juejin.cn/post/6898542896274735117 配置assets目录 ​ 插件会从pubspec.yaml文件下读取assets目录&#xff0c;因此要使用本插件&#xff0c;你需要在pubspec.yaml下配置资源目录 flutter:# The following line ens…

Navicat连接数据库报2003错误解决办法

是防火墙还没有开启 查看防火墙管理的端口 设置3306防火墙开启&#xff0c;重载防火墙 连接成功

2024年java面试--多线程(2)

系列文章目录 2024年java面试&#xff08;一&#xff09;–spring篇2024年java面试&#xff08;二&#xff09;–spring篇2024年java面试&#xff08;三&#xff09;–spring篇2024年java面试&#xff08;四&#xff09;–spring篇2024年java面试–集合篇2024年java面试–redi…

CSS中如何实现弹性盒子布局(Flexbox)的换行和排序功能?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 换行&#xff08;Flexbox Wrapping&#xff09;⭐ 示例&#xff1a;实现换行⭐ 排序&#xff08;Flexbox Ordering&#xff09;⭐ 示例&#xff1a;实现排序⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得…

【uniapp 配置启动页面隐私弹窗】

为什么需要配置 原因 根据工业和信息化部关于开展APP侵害用户权益专项整治要求&#xff0c;App提交到应用市场必须满足以下条件&#xff1a; 1.应用启动运行时需弹出隐私政策协议&#xff0c;说明应用采集用户数据 2.应用不能强制要求用户授予权限&#xff0c;即不能“不给权…

iPhone 14 Plus与iPhone 14 Pro:你应该买哪一款

又到了iPhone季,这意味着你可能会在几种不同的机型之间左右为难,无法决定买哪一款。更令人困惑的是,苹果推出的iPhone变体——iPhone 14 Plus,只比老款iPhone 14 Pro低100美元。 有这么多选择,你可能想知道哪款iPhone最适合你。你应该买一部大屏幕的iPhone 14 Plus并节省…

C语言每日一练--------Day(11)

本专栏为c语言练习专栏&#xff0c;适合刚刚学完c语言的初学者。本专栏每天会不定时更新&#xff0c;通过每天练习&#xff0c;进一步对c语言的重难点知识进行更深入的学习。 今日练习题关键字&#xff1a;找到数组中消失的数字 哈希表 &#x1f493;博主csdn个人主页&#xff…

leetcode原题: 最小值、最大数字

题目1&#xff1a;最小值 给定两个整数数组a和b&#xff0c;计算具有最小差绝对值的一对数值&#xff08;每个数组中取一个值&#xff09;&#xff0c;并返回该对数值的差 示例&#xff1a; 输入&#xff1a;{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8} 输出&#xff1a;3&…

网络编程 http 相关基础概念

文章目录 表单是什么http请求是什么http请求的结构和说明关于http方法 GET和POST区别http常见状态码http响应http 请求是无状态的含义html是什么 &#xff08;前端内容&#xff0c;了解即可&#xff09;html 常见标签 &#xff08;前端内容&#xff0c;了解即可&#xff09;关于…

项目总结知识点记录-文件上传下载(三)

&#xff08;1&#xff09;文件上传 代码&#xff1a; RequestMapping(value "doUpload", method RequestMethod.POST)public String doUpload(ModelAttribute BookHelper bookHelper, Model model, HttpSession session) throws IllegalStateException, IOExcepti…

XSS的分析

目录 1、XSS的原理 2、XSS的攻击类型 2.1 反射型XSS 2.2 存储型XSS 2.3 DOM-based 型 2.4 基于字符集的 XSS 2.5 基于 Flash 的跨站 XSS 2.6 未经验证的跳转 XSS 3、复现 3.1 反射性 3.2 DOM-based型 1、XSS的原理 XSS的原理是恶意攻击者往 Web 页面里插入恶意可执行…

Android中级——消息机制

消息机制 概念ThreadLocalMessageQueueLooperHandlerrunOnUiThread() 概念 MessageQueue&#xff1a;采用单链表的方法存储消息列表Looper&#xff1a;查询MessageQueue是否有新消息&#xff0c;有则处理&#xff0c;无则等待ThreadLocal&#xff1a;用于Handler获取当前线程的…

TypeScript配置-- 1. 新手处理TS文件红色波浪线的几种方式

Typescript 规范化了JS的项目开发&#xff0c;但是对一些项目的一些新手来说&#xff0c;确实是不怎么优好&#xff0c;譬如我&#xff1a;将我之前珍藏的封装JS代码&#xff0c;拿进了配置了tsconfig.json的vue3项目&#xff0c;在vscode下&#xff0c;出现了满屏的红色 &…

UML四大关系

文章目录 引言UML的定义和作用UML四大关系的重要性和应用场景关联关系继承关系聚合关系组合关系 UML四大关系的进一步讨论UML四大关系的实际应用软件开发中的应用其他领域的应用 总结 引言 在软件开发中&#xff0c;统一建模语言&#xff08;Unified Modeling Language&#x…

如何在Spring Boot应用中使用Nacos实现动态更新数据源

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

STM32G0 定时器PWM DMA输出驱动WS2812配置 LL库

通过DMA方式输出PWM模拟LED数据信号 优点&#xff1a;不消耗CPU资源 缺点&#xff1a;占用内存较大 STM32CUBEMX配置 定时器配置 定时器通道&#xff1a;TIM3 CH2 分频&#xff1a;0 重装值&#xff1a;79&#xff0c;芯片主频64Mhz&#xff0c;因此PWM输出频率&#xff1a…

(超简单)将图片转换为ASCII字符图像

将一张图片转换为ASCII字符图像 原图&#xff1a; 效果图&#xff1a; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileWriter; import java.io.IOException;public class ImageToASCII {/*** 将图片转换为A…

c#继承(new base)的使用

概述 C#中的继承是面向对象编程的重要概念之一&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;从另一个类&#xff08;称为父类或基类&#xff09;继承属性和行为。 继承的主要目的是实现代码重用和层次化的组织。子类可以继承父类的字段、属性、方法和事…

睿趣科技:抖音开小店大概多久可以做起来

随着移动互联网的快速发展&#xff0c;社交媒体平台成为了人们分享生活、交流信息的主要渠道之一。在众多社交平台中&#xff0c;抖音以其独特的短视频形式和强大的用户粘性受到了广泛关注。近年来&#xff0c;越来越多的人通过在抖音上开设小店来实现创业梦想&#xff0c;这种…

Nat. Commun.2023 | AI-Bind+:提高蛋白质配体结合预测的通用性

论文标题&#xff1a;Improving the generalizability of protein-ligand binding predictions with AI-Bind 论文地址&#xff1a;Improving the generalizability of protein-ligand binding predictions with AI-Bind | Nature Communications 代码&#xff1a; Barabasi…