python的一些简单题

1.计算一个数的阶乘

n=int(input("请输入一个整数"))
sum=1
for i in range(1,n+1):
    sum*=i
print(sum)

这里用到一个for循环 没什么好说的 主要是要注意int()这个语句 如果不加就会报错 因为 此刻你输入的数会变成string类型 需要用int 将其转型

n=int(input("请输入一个整数:"))
sum=1
while n>0 :
    sum*=n
    n-=1
print(sum)

2.计算给定区间内的素数

首先要要明白素数的概念

 那就是除了1和他本身 不能被任何数整除


def is_primer(number):
    if number in (1,2):
        return True
    for idx in range(2,number):

        if number % idx ==0:
            return False
    return True
def print_primers(begin,end):
    for number in range(begin,end+1):
        if is_primer(number):
             print(f"{number} is a primer")
begin = 11
end= 25
print_primers(begin,end)


这个代码利用了自定义函数 def来定义两个函数 一个是is_primers用来判断传入的参数是不是素数 另一个就是print_primers()用来打印是素数的数

在is_primers中如果这个数是1 就返回true

反之则进行判断 判断这个数能不能进行for循环来找到一个能被他整除的数

很简单的一个素数题

3.计算给定区间内奇数与偶数的个数

begin=int(input("请输入一个起始的整数数字:"))
end=int (input("请输入一个最终的整数数字:"))
sum=0
num=0
def is_oushujishu(number):
    if number%2==0:
        return True
    else :
        return False
for idex in range(begin,end+1):
    if is_oushujishu(idex):
        sum+=1
    else:
        num+=1
print(f"偶数的个数为:{sum}")
print(f"奇数的个数为:{num}")

4.简单排序

借用sort函数来实现升序排序和降序排序

lista=[1,5,4,3,2]
lista.sort()
listb=sorted(lista,reverse=True)
print(lista,listb)

单纯使用lista.sort()的意思就是就行降序排序

而如果加入reverse=True就相当于升序排序

运行结果如下:

5.自定义函数求规定范围内的素数

start1 = int(input("请输入一个起始变量start:"))
end1 = int(input("请输入一个终止变量"))
def qiusushu(start1, end1):
    for index in range(start1, end1+1):
        if index==1:
            continue
        ans = 1
        for i in range(2, index):
             if index % i==0:
                 ans = 0
                 break
        if ans:
          print(index)

qiusushu(start1,end1)

6.判断回文串:

这里用到一个str_2= str_1[::-1]这里的意思就是将字符串str_1倒过来赋值个str_2 然后进行for循环一个一个元素进行判断是否相等 如果相等 则记录下来

str_1 =input("请输入一个字符串:")
str_2=str_1[::-1]
num=0
for index in range(len(str_1)):
    if str_1[index]==str_2[index]:
       num+=1
if num==len(str_1):
    print("这是一个回文串")
else:
    print("这不是一个回文串")


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值