当前位置: 首页 > article >正文

python作业四

01:输入一个大于0的正整数n,如果n==1,则返回1,如果n是偶数,则返回n//2,如果n是奇数,则返回3*n+1

"""
输入一个大于0的正整数n,如果n==1,则返回1,如果n是偶数,则返回n//2,如果n是奇数,则返回3*n+1
"""
biao = []
n = int(input("请输入一个大于0的正整数:"))
biao . append(n)

while True :
    
    if n != 1 and n % 2 == 0 : #判断n是否为偶数
        biao . append(n//2)
        n = n//2
       
    if n != 1 and n % 2 != 0 : #判断n是否为奇数
        m = 3*n+1
        biao . append(m)
        n = m

    if n == 1 :
        print(biao)
        break

02:猜拳

print("1=石头 2=剪刀 3=布") #确定规则
i = 1
j = 0
k = 0

while True :
    import random
    computer = random.randint(1,3) #生成随机数

    print("我出:",computer)
    user = int(input("请输入一个数字:")) #设置输赢平局条件,并统计局数

    if computer == 1 and user == 2 :
        print ("你输了")
    elif computer == 1 and user == 3 :
        print ("你赢了")
        j += 1
    elif computer == 2 and user == 3 :
        print("你输了")
    elif computer == 2 and user == 1 :
        print("你赢了")
        j += 1
    elif computer == 3 and user == 1 :
        print("你输了")
    elif computer == 3 and user == 2 :
        print("你赢了")
        j += 1

    elif computer == user :
        print("平局")
        k += 1

    change = input("是否继续游戏(yes/no):")
    if change != 'yes' and change != 'no' :
        print("请输入yes/no")
    if change == 'yes' :
        i += 1
        continue
    else :
        print(f"共进行{i}场游戏")
        print(f"您获胜{j}场")
        print(f"您输了{i - j}场")
        print(f"平局{k}场")
        print("感谢游玩")
        break

03:求50~150之间的质数是那些?存储在列表中

"""
求50~150之间的质数是那些?存储在列表中

"""
biao = []

for i in range(50,151):
    if i == 1 or i == 2:
        biao.append(i)
    elif i % 2 == 0 :
        continue
    else:
        biao.append(i)
 
print(biao)

04:打印输出标准水仙花数,输出这些水仙花数

"""

打印输出标准水仙花数,输出这些水仙花数

"""

biao = []
for num1 in range(100,1000):
    bai = num1 // 100
    shi = num1 // 10 % 10
    ge  = num1 % 10
    if bai**3 + shi**3 + ge**3 == num1:
        biao.append(num1)
print(biao)

05:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.

"""
验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
"""
def ck(num):
    a = 0
    num = 0
    while num != 0:
        a += num % 10
        num //= 10
    if (num-a) % 9 == 0:
        return True
    return False
 
 
num = int(input('请输入一个大于9的整数:'))
if ck(num):
    print('符合')
else:
    print('不符合')

06:一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数.

"""
一个五位数,若在它的后面写上一个7,得到一个六位数A,
若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此
五位数.
"""


for i in range(10000, 100000):
    A = (i * 10) + 7
    B = i + 700000
    if B / A == 5:
        print(i)
 

 

07:有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币[10, 8, 5, 3, 27, 99]

"""
有一堆硬币,每次只能拿一个或者两个,求最少多少次可以拿完硬币
[10, 8, 5, 3, 27, 99]
"""

s = [10, 8, 5, 3, 27, 99]
num = 0
for i in s:
    x = i % 2
    if x == 0:
        num = i // 2 + num
    else:
        num = i // 2 + num + 1
print(f'需要取{num}次')

08:如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".

"""
如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数".
"""
def is_prime(num):
	""" 判断一个数是否是素数"""
	for i in range(2, num // 2 + 1):
		if num % i == 0:
			return False
 
	return True
 
 
def twin_prime(num):
	primes = []
	for i in range(2, num + 1):
		if is_prime(i):
			primes.append(i)
 
	# 判断是否是孪生素数
	index = 1
	while index < len(primes):
		if primes[index] - primes[index - 1] == 2:
			print(f"{primes[index - 1]}和{primes[index]}这两个素数是孪生素数")
		index += 1
		
 
twin_prime(100)

09:给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

"""
给定一个列表,求最大值(不能使用系统api),求最小值,求平均值、求和

"""
a = [input("请输入数字(数字间用空格分开):")]
print("给定列表为:",a)
a.sort()
print(a)
print("最小值为:",a[0])
b = len(a)
print("最大值为:",a[b-1])
c = 0
for i in a :
    c = c + i 
print("平均值为:",c%a[b-1])
print("和为:",c)

10:将list中的重复数据去重,至少使用两种方

"""
将list中的重复数据去重,至少使用两种方案

"""
#方法一
#a = list([1,1,2,2,3,3,4,4,5,5])
#print(a)
#b = list([1,2,3,4,5])
#print(b)
#c = set(list(a))

#方法二
a = list([1,1,2,2,3,3,4,4,5,5])
print(a)
b = list([])
for i in a:
    if i not in b:
        b.append(i)
print(b)

11:如何将0-10随机存入列表中

"""
如何将0-10随机存入列表中

"""
import random
a = []
 
for i in range(0,10):
    b = random.randint(0,10)
    if b in a:
        continue
    else:
        a.append(b)
  
print(a)
 


http://www.kler.cn/a/348773.html

相关文章:

  • 【微服务】网关 - Gateway(下)(day8)
  • MFC扩展库BCGControlBar Pro v35.1新版亮点:改进网格控件性能
  • Linux 运行执行文件并将日志输出保存到文本文件中
  • 论文阅读:On determining the hinterlands of China‘s foreign trade container ports
  • C++容器适配器1-基本使用(stack、queue)
  • 生成对抗网络(GANs)详解:原理、架构与应用潜力
  • jmeter使用csv数据
  • 2.C++经典实例-计算两个数的最小公倍数
  • 麻省理工发布 AI 工具,竟可以与未来的自己对话!
  • 实战篇:(四)Vue2 + Three.js 创建可交互的360度全景视图,可控制旋转、缩放完整代码
  • 达梦数据守护主备实时同步集群搭建
  • 24.3 基于文件的服务发现模式
  • 【C++】常用数据结构纲要(简易版)
  • 格式化字符串利用手法-一次机会构造栈链getshell
  • 预计算热点路径技术细节
  • 南京中医药大学与和鲸科技签署101数智领航计划,加速“医学+人工智能”交叉学科人才培养
  • 【MySQL】入门篇—SQL基础:数据操作语言(DML)
  • XPath进阶篇:精准高效的Web解析艺术
  • 保护数据安全:JS前端加密与PHP后端解密实战教程,让敏感信息更安全
  • 114.WEB渗透测试-信息收集-ARL(5)