Python 循环数指数;枚举()
我正在完成python书中的练习,我正在努力完成 开始的时候,我应该列一个由10个数字和5个字母组成的列表。随机选择4个元素并打印有关中奖彩票的消息 然后我想做一个循环,看看我刚刚创造的彩票中奖有多难。我需要做一个名为my_ticket的列表,然后写一个循环,不断地拉数字,直到票赢。打印一条消息,报告环路必须tun多少次才能给出中奖彩票 我唯一需要做的就是计算代码在循环中集成了多少次。我知道我需要使用enumerate,但我不确定如何将其应用于我的代码。enumerate函数获取一个列表,并从列表中的所有元素(如[0,elem1,1,elem2,…])生成元组 因此,您可以使用它来计算循环按如下方式运行的次数: 对于索引,枚举计数中的i:无限循环 对于1,5范围内的i:数字和字母列表中的四个元素 i=精选编号和字母 赢的数字 印刷数字 如果您正在查看您的号码!=已分拣车票: 中奖号码,明白了吗 elif SortedMining_编号==sortedmy_票证: 打印“数字相同” 打印“运行了%d次!”%索引+1 打破 索引+1,因为索引以0开头。枚举函数获取一个列表,并从列表中的所有元素生成元组,如[0,elem1,1,elem2,…] 因此,您可以使用它来计算循环按如下方式运行的次数: 对于索引,枚举计数中的i:无限循环 对于1,5范围内的i:数字和字母列表中的四个元素 i=精选编号和字母 赢的数字 印刷数字 如果您正在查看您的号码!=已分拣车票: 中奖号码,明白了吗 elif SortedMining_编号==sortedmy_票证: 打印“数字相同” 打印“运行了%d次!”%索引+1 打破Python 循环数指数;枚举(),python,loops,enumerate,Python,Loops,Enumerate,我正在完成python书中的练习,我正在努力完成 开始的时候,我应该列一个由10个数字和5个字母组成的列表。随机选择4个元素并打印有关中奖彩票的消息 然后我想做一个循环,看看我刚刚创造的彩票中奖有多难。我需要做一个名为my_ticket的列表,然后写一个循环,不断地拉数字,直到票赢。打印一条消息,报告环路必须tun多少次才能给出中奖彩票 我唯一需要做的就是计算代码在循环中集成了多少次。我知道我需要使用enumerate,但我不确定如何将其应用于我的代码。enumerate函数获取一个列表,并从列
索引+1,因为索引以0开头。您可以使用临时计数器cnt跟踪循环从列表中提取元素的次数,并将其与票证匹配 首先在循环外用0初始化它
然后,每次循环运行时增加cnt,如果找到匹配的printcnt,然后再次将cnt设置为0in if,以便下一次迭代您可以使用临时计数器cnt跟踪循环从列表中提取元素的次数,并将其与票证匹配 首先在循环外用0初始化它
然后,每次循环运行时,如果找到匹配项,则增加cnt printcnt,然后再次将cnt设置为0,如果用于下一次迭代,则无需使用enumerate伯爵很好 下面是对代码的一个轻微修改,使其能够工作:
from random import choice
from itertools import count
numbers_and_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'1', '2', '3', '4', '5']
winning_numbers = []
my_ticket = ['a','1', '5', 'j']
def get_random_ticket():
res = []
for i in range(4): # four elements from the numbers_and_letters list
i = choice(numbers_and_letters)
res.append(i)
return res
winning_numbers = get_random_ticket()
print(winning_numbers)
for i in count(): #infinite loop
if sorted(winning_numbers) == sorted(get_random_ticket()):
print('The numbers are identical')
print(i)
break
不需要使用枚举。”伯爵很好 下面是对代码的一个轻微修改,使其能够工作:
from random import choice
from itertools import count
numbers_and_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'1', '2', '3', '4', '5']
winning_numbers = []
my_ticket = ['a','1', '5', 'j']
def get_random_ticket():
res = []
for i in range(4): # four elements from the numbers_and_letters list
i = choice(numbers_and_letters)
res.append(i)
return res
winning_numbers = get_random_ticket()
print(winning_numbers)
for i in count(): #infinite loop
if sorted(winning_numbers) == sorted(get_random_ticket()):
print('The numbers are identical')
print(i)
break
您已经在计算找到与循环匹配所需的迭代次数。但是您稍后将用其他值覆盖从该循环中获得的值,因为您将多次重用变量名i 尝试为这三行中的变量使用不同的名称,而不是重复使用i:
现在,您可以稍后使用draw_count。您可能希望打印出draw_count+1,因为itertools.count迭代器在默认情况下从零开始。您已经在计算迭代次数,您要找到与循环计数匹配的迭代次数。但是您稍后将用其他值覆盖从该循环中获得的值,因为您将多次重用变量名i 尝试为这三行中的变量使用不同的名称,而不是重复使用i:
现在,您可以稍后使用draw_count。您可能希望打印出draw_count+1,因为itertools.count迭代器默认从零开始。要计算代码通过循环集成的次数,只需添加一个计数器
from random import choice
from itertools import count
numbers_and_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'1', '2', '3', '4', '5']
winning_numbers = []
my_ticket = ['a','1', '5', 'j']
a = 0
for i in count(): #infinite loop
for i in range(1, 5): # four elements from the numbers_and_letters list
i = choice(numbers_and_letters)
winning_numbers.append(i)
print(winning_numbers)
a += 1
if sorted(winning_numbers) != sorted(my_ticket):
winning_numbers.clear()
elif sorted(winning_numbers) == sorted(my_ticket):
print('The numbers are identical')
print(a)
break
这是输出点,表示有多个打印的中奖号码-
......
......
......
......
['4', 'd', 'h', '3']
['h', 'd', 'h', 'j']
['5', 'd', '5', 'c']
['1', '5', 'j', 'a']
The numbers are identical
2852
要计算代码通过循环集成的次数,只需添加一个计数器
from random import choice
from itertools import count
numbers_and_letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
'1', '2', '3', '4', '5']
winning_numbers = []
my_ticket = ['a','1', '5', 'j']
a = 0
for i in count(): #infinite loop
for i in range(1, 5): # four elements from the numbers_and_letters list
i = choice(numbers_and_letters)
winning_numbers.append(i)
print(winning_numbers)
a += 1
if sorted(winning_numbers) != sorted(my_ticket):
winning_numbers.clear()
elif sorted(winning_numbers) == sorted(my_ticket):
print('The numbers are identical')
print(a)
break
这是输出点,表示有多个打印的中奖号码-
......
......
......
......
['4', 'd', 'h', '3']
['h', 'd', 'h', 'j']
['5', 'd', '5', 'c']
['1', '5', 'j', 'a']
The numbers are identical
2852
非常感谢你的帮助。我真的很感激。您能告诉我如何打印“需要%d次运行!”%索引+1工作?它使用字符串格式。因此,变量被放入字符串中。变量由百分号表示,可以是int%d、float%f等。在字符串之后,将要打印的变量放在%d处。您还可以使用“它花费了{}次运行!”。formatindex+1。有关Python中字符串格式的详细信息:。非常感谢您的帮助。我真的很感激。可以吗
请告诉我如何打印“需要%d次运行!”%索引+1工作?它使用字符串格式。因此,变量被放入字符串中。变量由百分号表示,可以是int%d、float%f等。在字符串之后,将要打印的变量放在%d处。您还可以使用“它花费了{}次运行!”。formatindex+1。关于Python中字符串格式的更多信息:。谢谢,我认为这是最简单的一个!谢谢你,我认为这是最简单的!