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//2if n != 1 and n % 2 != 0 : #判断n是否为奇数m = 3*n+1biao . append(m)n = mif n == 1 :print(biao)break
02:猜拳
print("1=石头 2=剪刀 3=布") #确定规则
i = 1
j = 0
k = 0while True :import randomcomputer = random.randint(1,3) #生成随机数print("我出:",computer)user = int(input("请输入一个数字:")) #设置输赢平局条件,并统计局数if computer == 1 and user == 2 :print ("你输了")elif computer == 1 and user == 3 :print ("你赢了")j += 1elif computer == 2 and user == 3 :print("你输了")elif computer == 2 and user == 1 :print("你赢了")j += 1elif computer == 3 and user == 1 :print("你输了")elif computer == 3 and user == 2 :print("你赢了")j += 1elif computer == user :print("平局")k += 1change = input("是否继续游戏(yes/no):")if change != 'yes' and change != 'no' :print("请输入yes/no")if change == 'yes' :i += 1continueelse :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 :continueelse:biao.append(i)print(biao)
04:打印输出标准水仙花数,输出这些水仙花数
"""打印输出标准水仙花数,输出这些水仙花数"""biao = []
for num1 in range(100,1000):bai = num1 // 100shi = num1 // 10 % 10ge = num1 % 10if bai**3 + shi**3 + ge**3 == num1:biao.append(num1)
print(biao)
05:验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
"""
验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.
"""
def ck(num):a = 0num = 0while num != 0:a += num % 10num //= 10if (num-a) % 9 == 0:return Truereturn Falsenum = 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) + 7B = i + 700000if 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 % 2if x == 0:num = i // 2 + numelse: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 Falsereturn Truedef twin_prime(num):primes = []for i in range(2, num + 1):if is_prime(i):primes.append(i)# 判断是否是孪生素数index = 1while index < len(primes):if primes[index] - primes[index - 1] == 2:print(f"{primes[index - 1]}和{primes[index]}这两个素数是孪生素数")index += 1twin_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:continueelse:a.append(b)print(a)