合工大python实验1~10

文章包含多个Python代码示例,涉及猜数字小游戏(使用if和while循环)、三位数组合、完数查找、随机数列表处理、列表排序、斐波那契数列生成以及素数筛选等算法问题的解决方法。
摘要由CSDN通过智能技术生成

# 1、编写代码:利用 if 判断来制作一个猜数字的小游戏

# 问题描述:程序运行时,系统在指定范围内生成一个随机数字,然后用户进行猜测,并

# 根据用户输入进行必要的提示(right, too large, too small),如果猜对则提前结束程序,

# 如果未有猜对,提示游戏结束并给出正确答案。

import random

count = 10

n = random.randint(1,10)

print('你一共有十次机会')

for i in range(count):

x=int(input('请输入你的猜测:'))

if x==n:

print('right')

break

elif x<n:

print('too small')

else:

print('too large')

if count-i-1!=0:

print(f'你还有{count-i-1}次机会')

else:

print(f'正确答案位:{n}')

'''

2、编写代码:利用 while 循环判断来制作一个猜数字的小游戏

问题描述:程序运行时,系统在指定范围内生成一个随机数字,然后用户进行猜测,并

根据用户输入进行必要的提示(right, too large, too small),如果猜对则提前结束程序,

如果次数用完仍没有猜对,提示游戏结束并给出正确答案

'''

import random

count = 5

n = random.randint(1, 10)

print(f'你一共有{count}次机会')

while count >= 1:

x = int(input('请输入你的猜测'))

if x == n:

print('right')

break

elif x < n:

print('too small')

else:

print('too large')

if count-1!=0:

print(f'你还有{count-1}次机会')

count-=1

else:

print('这个数为:',n)

'''

3、有 1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

'''

# 有1234四个数字,可以组成多少个三位数

num = 0

for ge in range(1, 5):

for shi in range(1, 5):

for bai in range(1, 5):

if ge != shi and shi != bai and ge != bai:

he = ge + shi * 10 + bai * 100

if he >= 100 and he <= 999:

num += 1

print(he)

print('总数:', num)

'''

4、一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如 6=1+2+3.编程找

出 1000 以内的所有完数

'''

def func(n):

lst = []

for i in range(1, n - 1):

if n % i == 0:

lst.append(i)

return sum(lst) == n

for i in range(1, 1000):

if func(i):

print(i)

'''

5、编写程序,生成一个包含 50 个随机整数的列表,然后删除其中所有奇数(提示:从

后向前删除)

'''

import random

#列表推导式

lst = [random.randint(1, 1000) for i in range(50)]

print(lst)

for i in range(len(lst) - 1, -1, -1):

if lst[i] % 2 == 1:

lst.remove(lst[i])

print(lst)

'''

6、编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数下标的元素进行降

序排列,奇数下标的元素不变。

'''

import random

lst = [random.randint(1,50)for i in range (20)]

print(lst)

alst = sorted(lst[::2],reverse=True)#切片取值

lst[::2]=alst#切片赋值

print(lst)

'''

7、编写函数用来计算斐波那契数列中小于参数 n 的所有值。

'''

def Fibonacci(n):

(a, b) = (0, 1)

while a < n:

print(a, end=' ')

(a, b) = (b, a + b)

n = int(input())

Fibonacci(n)

'''

8、利用列表实现筛选法求素数。

问题描述:编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成

的列表

'''

import math

t = int(input("请输入一个大于2的自然数"))

ls = list() # 定义一个列表

for j in range(2, t): # 输入数字范围

#标记

tag = 0

#判断是否是素数

for i in range(2, int(math.sqrt(j))+1):

if j%i==0:

tag=1

if tag==0:

ls.append(j)

print(ls)

'''

9、编写函数:判断回文,也就是正读反读都一样的字符串。 例如:abcba”

'''

string=input('请输入一个字符串:')

def fun(string:str):

return string[::-1]==string

print(fun(string))

'''

10、对于给定的一个字符串,如果其中包含"apple"(apple 不区分大小写)则输出 yes,

否则输出 no。

'''

s = input('请输入一个字符串')

print('yes' if s.lower().count('apple') else 'no')

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值