合工大python实验1~10

# 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’)