赞
踩
目录
1、猜数字游戏(使用random模块完成) :继上期题目,附加
5、验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
6、一个五位数,若在它的后面写上一个7,得到一个六位数A, 若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此 五位数.
7、有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币 [10, 8, 5, 3, 27, 99]
8、如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
9、给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和
猜错三次不可以再猜,即只有三次机会;统计一局猜了多少次,猜了什么数
- import random as r #r是别名
-
- compute = r.randint(0,100)
- #print(compute) 作弊:为了检验
-
- l = [] #创建一个列表,用于记录猜的数,长度即次数
-
- i = 0 #记录猜的次数
- while True:
- my = int (input("请输入一个数: "))
- l.append(my) #将玩家猜的数字记录到列表中
- if my > compute or my < compute:
- if my > compute :
- print("您财大了")
- elif my < compute:
- print("菜小了")
- i+=1 #猜错次数加1
- if i >=3 : #不可以超过三次
- print("您输了,game over")
- break
- else:
- print("撒花")
- #break
- choice = input("是否继续(Y)")
- if choice == "Y":
- compute = r.randint(0,100)
- i = 0 #猜对了,重启一局中猜的次数重置为0
- else:
- print("拜拜")
- break
-
- for item in l :
- print(item,end=" ") #遍历列表
- print(f'猜了{len(l)}次后结束游戏') #列表长度即猜的次数
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- people = {} #定义一个字典存放用户名和对应密码
-
- while True: #初始界面
- print("\t\t\t英雄商城登录界面\n")
- print("~*"*38)
- print("\t\t\t1.用户登录\n")
- print("\t\t\t2.用户注册\n")
- print("\t\t\t3.退出系统\n")
- print("~*"*38)
- choice = input("请输入您的选择:")
- if choice == "2": #用户需要注册
- while True:
- username = input("请输入您的用户名称:")
- if username in people:
- username = input ("此用户名已被注册")
- break
- elif username not in people:
- people[username]=input('请输入密码: ')
- print('注册成功!')
- break
- elif choice == "1" :
- while True:
- username = input("请输入用户名: ")
- if username not in people :
- print("该用户不存在!")
- if username == "q": #退出到初始页面
- break
- elif username in people :
- password = input("请输入密码: ")
- i=0
- while True:
- if password != people[username]:
- password = input("密码错误,登录失败: ")
- i+=1
- if i>=3: #失败超过三次 回到初始页面
- break
- if password == people[username]:
-
- print("登录成功\n") #登录成功进入游戏页面
-
- while True:
- print("\t\t\t英雄商城首页\n")
- print("~*"*40)
- print("\t\t\t1.进入英雄超市\n")
- print("\t\t\t2.休闲小游戏\n")
- print("\t\t\t3.退出登录\n")
- choice = input("请选择: ")
- if choice == "3" :
- break
- break
- break
- #回到初始页面
-
- elif choice == "3":
- print("退出登录")
- break
- else:
- continue
-
- #遍历数据字典,查看用户名和密码(可以多注册几个)
- for (key,value) in people.items():
- print(key,value)
-
-
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
(用户名不存在会返回首页;注册成功)
(密码输入错误超过三次登录失败返回首页;正确则登录成功,进入下一个界面)
(从最内层页面退出,回到初始界面;可以再一次注册)
(退出页面,数据字典里面有用户名及其对于的密码)
(不可重复注册)
- #求50-150之间的质数
- l = []
-
- for num in range(50,150):
- flag = True
- for i in range (2,num):
- if num % i == 0:
- flag = False
- break #表示一种标识符,如果整出来,它就变错
-
-
- if flag:
- print(f"{num}是质数",end=" ")
- l.append(num)
- else:
- print(f"{num}不是",end=" ")
- print()
-
- for item in l :
- print (item,end=" ")
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- #水仙花数是指一个数的个位、十位、百位的数字立方和等于原数
- l = []
- for i in range(100,1000):
- x=i%10 #个位上的数
- y=(i%100)//10 #十位上的数
- z=i//100 #百位上的数
-
- if i == x**3 + y **3 + z **3 :
- print(x,y,z)
- l.append(i)
-
- for item in l :
- print(f"{item}是水仙花数")
- for i in range(10,1000) :
- flag = True
- x = i%10 #个位的数
- y = i - x #这个数减去个位的数
- if y %9 != 0 :
- flag = False #如何不能被9整除,标识就变false
-
- else:
- pass
- if flag == False: #标识变了,就不能被9整除
- print("验证失败")
- else:
- print("验证成功") #标识没变证明都可以被9整除
-
- l = []
-
- for i in range(10000,100000) :
- A = i*10 + 7
- B = i + 7*100000
- if B == A*5 :
- l.append(i)
-
- for item in l :
- print(item)
-
- arr = [10,8,5,3,27,99]
-
- count = 0
- for i in arr :
- if i % 2 == 0 :
- count = i //2
- elif i % 2 == 1 :
- count = i // 2 + 1
- print (f"最少可以{count}次拿完")
-
- l = []
- for num in range(1,100) :
- flag = True
- for i in range (2,num):
- if num % i == 0:
- flag = False #表示一种标识符,如果整出来,它就变错
- break
-
- if flag:
- l.append(num)
-
- #放入字典里
- d = {}
- for num in l:
- if (num+2) in l :
- d[num]=num+2
-
- for key,value in d.items():
- print(key,value)
-
-
- """
- #直接输出
- for num in l:
- if (num+2) in l:
- print (num,num+2)
-
- """
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- l = [100,97,67,7,3,5,1,40,39]
- c = max(l)
- d = min(l)
- num = len(l)
- sum_ = sum(l)
- avg = sum_ / num
- print(f'最大值为{c},最小值为{d},总和为{sum_},平均值为{avg}')
- list_1 =[1,2,4,7,9,4,7,1,1,]
- print("删除重复项前的列表为"+str(list_1))
- list_2 =[]
-
-
- #第一种方法 遍历列表
-
- for i in list_1 :
- if i not in list_2 :
- list_2.append(i)
- print("删除重复项后的列表为"+str(list_2))
-
-
- #第二种方法 set法 顺序会改变
-
- list_2 = list(set(list_1))
- print("删除重复项后的列表为"+str(list_2))
-
-
- #第三种方法 全局函数
-
- import builtins
- dir(builtins)
-
- for i in enumerate(list_1) :
- list_2.append(i)
-
- for i in list_2:
- print(i)
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
- import random #随机
-
- l = []
- while True:
- n = random.randint(0,10) #n从0到10随机取
- if n not in l : #不重复,就加入列表
- l.append(n)
- if len(l) == 11: #当长度为11,证明0-10所以数字都有
- break
- for j in l :
- print(j) #遍历
今天作业ok!拜拜~~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。