python for循环

关于python中for循环的实例应用及讲解

匿名 (未验证) 提交于 2019-12-02 22:54:36
无论是学习c,c+,还是python语言,都会有一些对基本语句的应用,想要在这个领域学的更好,必须要掌握一些基本语法的用法。现在我为大家讲解一下for循环及if条件判断语句在实例中的应用,为了大家能更好的理解,我用一个石头剪刀布的小游戏的代码来展示具体内容,一些细节问题我会在下方做注释。 这个游戏的具体玩法很简单,就是人与电脑之间的对决,人是自由的,随机用手打出石头剪刀布,而电脑一方则是通过代码中的通过random这个包,来随机选择与人对应打出石头剪刀布的顺序,下边是具体代码: from random import randint #导入一个随机包 Pe_win = 0 computer_win = 0 ping = 0 #上边三行代码的意思是先给变量赋予一个初始值,否则系统既不能辨别变量的类型 # index 代表编号(索引) value代表值(内容) enumerate 枚举,列举 for index , value in enumerate ( range ( 3 )): # print(index) # print(value) Pe_num = input ( "请输入一个数字:" )# Pe_num 代表玩家出的石头,剪刀,或者布;在这里用 0 , 1 , 2 代表 Pe_num = int ( Pe_num )#强制将输入的字符串或者数字转化成数字类型

小学生学python(四)

匿名 (未验证) 提交于 2019-12-02 22:54:36
上一篇中用到了for循环,这一节描述下常用的if语句,for语句,while语句。 cars = [ ‘ bmw ‘ , ‘ benz ‘ , ‘ byd ‘ , ‘ ford ‘ , ‘ rowei ‘ ] for car in cars: if car == ‘ bmw ‘ : print(car.upper()) else : print(car.title()) 其中的意思就是如果有汽车品牌是bmw的,就大写输出。 根据条件测试的值为True还是False来决定是否执行if语句中的代码 car = ‘ bmw ‘ =是赋值,表示把右边的值赋值给变量car car == ‘ bmw ‘ ==类似于恒等于,表示左右两边是否完全相等。相等则返回True,否则返回False。if True表示符合条件,可以执行里面的子句。 else表示if条件判断结果是False,执行个else分支。 answer = 1 if answer != 2 : print( ‘ 不是正确答案 ‘ ) 不是正确答案会输出,!=就是不等于,跟数学符号类似。 answer != 2的结果是True,if True就会执行下面的print函数了。 还有其他的符号>=,<=,>,<。 多个if条件语句进行组合 for car in cars: if car == ‘ bmw ‘ : print(car

Python 字符串语法,for

匿名 (未验证) 提交于 2019-12-02 22:54:36
# -*- coding:utf-8 -*- # 字符串的拼接方式一 a = " hello " b = " world " c = a + " " + b # 打印 hello world print (c) d = " lao " e = " wang " # 字符串输出 print ( " %s " %(d+e)) # 打印 laowang # 字符串拼接方式二 f = " ==%s=%s= " %(c,d+ e) print ( " ******%s******* " % (f)) ‘‘‘ for 临时变量 in 列表或者字符串等: [tab键] 循环满足条件时执行的代码 else: [tab键] 循环不满足条件时执行的代码 else后面的语句一定会执行,因为总有条件不满足的时候 ‘‘‘ # 字符串的遍历 for index in c: print ( " %s " %index,end= ‘‘ ) ‘‘‘ else: print("no world .") ‘‘‘ print ( "" ) # 字符串的下标,下标从0开始,0表示第一个字符 print (c[0]) print (c[1 ]) # len()函数,用来计算字符串中字符的个数(不包括‘/0‘) print (c[len(c)-1 ]) print ( " ============== " ) # 字符串逆序

路飞学城――python开发集训――第二章(2)练习题

匿名 (未验证) 提交于 2019-12-02 22:54:36
一: 本节学习心得与体会 以后学到新知识要多多练习。 二:练习题 1.列表练习题 # 1、创建一个空列表,命名为names,往里面天添加old_driver,rain,jack,shanshan,peiqi,black,black_girl元素 names = [] names.append( " old_driver " ) names.append( " rain " ) names.append( " jack " ) names.append( " shanshan " ) names.append( " peiqi " ) names.append( " black " ) names.append( " black_girl " ) # 2、往names列表里black_girl前面插入一个alex names.insert(names.index( " black_girl " ), " alex " ) # 3、把shanshan的名字改成中文 姗姗 names[names.index( " shanshan " )] = " 姗姗 " # 4、往names列表里rain的后面插入一个子列表[oldboy,oldgirl] names.insert(names.index( " rain " ),[ " oldboy " , " oldgirl " ]) # 5

python 刷 leetcode 题目(33)

匿名 (未验证) 提交于 2019-12-02 22:54:36
160 . 相交链表 编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表 : A : a1 → a2 c1 → c2 → c3 B : b1 → b2 → b3 在节点 c1 开始相交。 注意: 如果两个链表没有交点,返回 null . 在返回结果后,两个链表仍须保持原有的结构。 可假定整个链表结构中没有循环。 程序尽量满足 O( n ) 时间复杂度,且仅用 O( 1 ) 内存。 思路:其实就是暴力解决,找出他们共同部分,判断这一段是否相同。 代码如下: # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution ( object ): def getIntersectionNode ( self , headA , headB ): """ :type head1, head1: ListNode :rtype: ListNode """ #### the first method # if headA == None or headB == None: # return None # def get_length(head): # count = 0

python五子棋--博弈树

匿名 (未验证) 提交于 2019-12-02 22:54:36
from graphics import * from math import * import numpy as np def ai(): """ AI计算落子位置 """ maxmin(True, DEPTH, -99999999, 99999999) return next_point[0], next_point[1] def maxmin(is_ai, depth, alpha, beta): """ 负值极大算法搜索 alpha + beta剪枝 """ # 游戏是否结束 | | 探索的递归深度是否到边界 if game_win(list1) or game_win(list2) or depth == 0: return evaluation(is_ai) blank_list = list(set(list_all).difference(set(list3))) order(blank_list) # 搜索顺序排序 提高剪枝效率 # 遍历每一个候选步 for next_step in blank_list[0:60]: # 如果要评估的位置没有相邻的子, 则不去评估 减少计算 if not has_neightnor(next_step): continue if is_ai: list1.append(next_step) else: list2.append

Python之循环

匿名 (未验证) 提交于 2019-12-02 22:54:36
<1>while循环的格式 while 条件: 条件满足时,做的事情 1 ...(省略)... demo i = 0 while i< 5 : print( "当前是第%d次执行循环" %(i+ 1 )) print( "i=%d" %i) i+= 1 <2>for循环 像while循环一样,for可以完成循环的功能。 在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。 for循环的格式 for 临时变量 in 列表或者字符串等: 循环满足条件时执行的代码 else : 循环不满足条件时执行的代码 demo1 name = 'dongGe' for x in name: print(x) 循环关键字:break、continue break的作用:用来结束整个循环 continue的作用:用来结束本次循环开始下个循环 break/continue 只能在循环中,除此以外不能单独使用 break/continue在嵌套循环中,只对最近的一次循环起作用。 文章来源: Python之循环

Python 中的迭代器和生成器

匿名 (未验证) 提交于 2019-12-02 22:54:36
迭代器 每次可以返回一个对象元素的对象,例如返回一个列表。我们到目前为止使用的很多内置函数(例如 enumerate)都会返回一个迭代器。 是一种表示数据流的对象。这与列表不同,列表是可迭代对象,但不是迭代器,因为它不是数据流。 生成器 是使用函数创建迭代器的简单方式。也可以使用类定义迭代器 下面是一个叫做 my_range 的生成器函数,它会生成一个从 0 到 (x - 1) 的数字流: def my_range (x) : i = 0 while i < x: yield i i += 1 该函数使用了 yield 而不是关键字 return。这样使函数能够一次返回一个值,并且每次被调用时都从停下的位置继续。关键字 yield 是将生成器与普通函数区分开来的依据。 因为上述代码会返回一个迭代器,因此我们可以将其转换为列表或用 for 循环遍历它,以查看其内容。例如,下面的代码: for x in my_range( 5 ): print(x) 输出如下: 0 1 2 3 4 为何要使用生成器? 生成器是构建迭代器的 “懒惰” 方式。当内存不够存储完整实现的列表时,或者计算每个列表元素的代价很高,你希望尽量推迟计算时,就可以使用生成器。但是这些元素只能遍历一次。 由于使用生成器是一次处理一个数据,在内存和存储的需求上会比使用list方式直接全部生成再存储节省很多资源。由此区别

Python学习记――(5)for循环

匿名 (未验证) 提交于 2019-12-02 22:54:36
for语句 作用: 用来遍历可迭代对象的数据元素 可迭代对象是指能依次获取数据元素的对象 可迭代对象包括: 字符串str ------以下以后再讲------ 列表 list 元组 tuple 字典 dict 集合 set range函数返回的对象等 语法: for 变量列表 in 可迭代对象: 语句块 1 else : 语句块 2 示例: s = 'ABCDE' for ch in s : print ( 'ch-->>' , ch ) else : print ( '可迭代对象已经不能再提供数据了!' ) print ( '程序结束' ) #输出结果如下: ch -->> A ch -->> B ch -->> C ch -->> D ch -->> E 可迭代对象已经不能再提供数据了! 程序结束 练习: 1、任意输入一个字符串: 计算出您输入的空格的个数,并打印出来 计算您输入的‘a’字符的个数,并打印出来(要求用for语句实现) 思考:用while语句能否实现上述功能? myStr = input ( '输入一串字符串:' ) a_count = 0 for char in myStr : if char == 'a' : a_count += 1 else : print ( '空格的数量是:' , myStr . count ( ' ' )) print (

python 进度条

匿名 (未验证) 提交于 2019-12-02 22:54:36
Python显示进度条,实时显示处理进度 2017年06月26日 09:51:24 阅读数:16602 前言 在大多数时候,我们的程序会一直进行循环处理。这时候,我们非常希望能够知道程序的处理进度,由此来决定接下来该做些什么。接下来告诉大家如何简单又漂亮的实现这一功能。 如何使用这个类 使用这个类很简单,只需要两步即可完成,如下: process_bar = ShowProcess ( max_steps , infoDone ) # 1.在循环前定义类的实体, max_steps是总的步数, infoDone是在完成时需要显示的字符串 for i in range ( max_steps ): process_bar . show_process () # 2.显示当前进度 time . sleep ( 0.05 ) 1 2 3 4 进度条的实现 由于很简单,直接上代码 # -*- coding: UTF-8 -*- import sys , time class ShowProcess () : """ 显示处理进度的类 调用该类相关函数即可实现处理进度的显示 """ i = 0 # 当前的处理进度 max_steps = 0 # 总共需要处理的次数 max_arrow = 50 #进度条的长度 infoDone = 'done' # 初始化函数,需要知道总共的处理次数 def