- 时间:2022-09-01 01:29 编辑: 来源: 阅读:300
- 扫一扫,手机访问
摘要:3个月的Python熟练程度-第2天打卡
[网站源码]
1.约瑟夫环问题:一个圈里有n个人,按顺序编号。 从第一个人开始数(从1数到3)。报3的都退圈问哪个是原号?解决思路:循环计数,从1开始,但是如果从原列表中去掉3的倍数的个数,形成新的列表,那么继续计数,然后消除3的倍数的个数,一直循环,直到列表中只剩下一个数;代码:input_int=100#随意输入一个整数first_list=[]#在range(1,input_int+1)中为I创建一个空列表:#形成一个从1到100的first_list的列表。append (i) count = 0,而len(first _ list)>;1:#当first_list中的位数大于2时,继续循环下面的语句tran_list=first_list[:]#构造同一个列表,从而为I在range(0,Len(tran_list))中保存3 #print(tran_list)的倍数:count=count+1# Count,如果是3的倍数,如果count%3 ==0,则去掉这个数:#判断这个数除以3的余数是否等于0,如果等于0,Remove (tran _ list [I]) #从原始数组print(first_list)2中删除3的倍数。逻辑推理问题:推理问题:有人邀请A、B、C、D、E、F6人参加一个会议。这六个人有点奇怪,因为他们有很多 2.来自A、E、F3的两个人参加了会议。 b和C一致决定要么去,要么都不去。 只有A和D中的一个参加了会议 5.只有C和D中的一个需要参加会议。 6.如果D不去,那么E也决定不去。 那么最后有多少人参加了会议?解决问题的思路:用1,0代表去的客户或者不参加会议的客户。在不知道答案的情况下,A、B、C、D、E、F六个人,可能是0,也可能是1,所以大家要么等于0,要么等于1。用for循环和if条件语句得到A,B,C,D,E,F的值;Code: list_begin=[0,1]for a in list _ begin:for b in list _ begin:for c in list _ begin:for d in list _ begin:for e in list _ begin:for f in list _ begin:if a+b & gt;=1且a+e+f & gt;=2且b==c且c+d==1且a+d==1且d==e: print(a,b,c,d,e,f)