Python练习之选择与循环

目录

    • 1、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。提示:如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。
    • 2、编写程序,用户从键盘输入小于 1000 的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。
    • 3、10 的阶乘(循环 crr118)
    • 4、编写程序,至少使用 2 种不同的方法计算 100 以内所有奇数的和
    • 5、编写程序,实现分段函数计算,如下表所示
    • 6、计算糖果总数(循环 crr127)
    • 7、编写程序,生成一个包含 50 个随机整数的列表,然后删除其中所有奇数。
    • 8、编写程序,生成一个包含 20 个随机整数的列表,然后对其中偶数下标的元素进行降序

1、编写程序,运行后用户输入4位整数作为年份,判断其是否为闰年。提示:如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。

n=int(input("input 4位数:"))
if(n%400==0 or (n%4==0 and n%100!=0)):
    print("n为闰年")
else:
    print("不是闰年")

2、编写程序,用户从键盘输入小于 1000 的整数,对其进行因式分解。例如,10=2×5,60=2×2×3×5。

while 1:
    print("input::::")
    t=int(input())
    if t<2 or t>1000:
        print("error")
    else:
        print("right")
        break
print(t,end=""),
print("=",end=""),
i=2
while 1:
    if t==i:
        print(i,end="")
        break
    if t%i==0:
        print(i,end=""),
        print("*",end=""),
        t=t/i
    else:
        i=i+1

3、10 的阶乘(循环 crr118)

编写程序,计算 1 × 2 × 3 × … × 10。

n=1
sum=1
while n<=10:
    sum=sum*n
    n=n+1
print("10!=",sum)

4、编写程序,至少使用 2 种不同的方法计算 100 以内所有奇数的和

方法一:

n,sum=1,0
while n<100:
    if n%2==1:
        sum=sum+n
    n=n+1
print(sum)

方法二:

n,sum=1,0
for i in range(1,101):
    if i%2==1:
        sum=sum+i
print(sum) 

5、编写程序,实现分段函数计算,如下表所示

Python练习之选择与循环_第1张图片

x=int(input("请输入x值"))
if x<0 :print(0)
elif x>=0 and x<5 :
    print(x) 
elif x>=5 and x<10 :
    print(3*x-5)
elif x>10 and x<20 :
    print(0.5*x-2)
elif x>=20 :
    print(0)

6、计算糖果总数(循环 crr127)

编写程序,计算糖果总数。假设有一盒糖果,按照如下方式从中取糖果: 1 个 1 个地
取,正好取完。 2 个 2 个地取,还剩 1 个。 3 个 3 个地取,正好取完。 4 个 4 个地取,还
剩 1 个。 5 个 5 个地取,还差 1 个。 6 个 6 个地取,还剩 3 个。 7 个 7 个地取,正好取完。
8 个 8 个地取,还剩 1 个。 9 个 9 个地取,正好取完。 请问:这个盒子里一共有多少个糖
果?

n=1
while 1:
    if n%2==1 and n%3==0 and n%4==1 and n%5==4 and n%6==3 and n%7==0 and n%8==1 and n%9==0:
        print("There are {} candies in this box.".format(n))
        break
    else :
        n=n+1

7、编写程序,生成一个包含 50 个随机整数的列表,然后删除其中所有奇数。

提示:从后向前删除。

import random
x=[random.randint(0,100) for i in range(50)]
print(x)
for i in range(len(x))[::-1]:
    if x[i]%2==1:
        del x[i]
print(x)

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

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

import random
x=[random.randint(0,100) for i in range(20)]
print(x)
x[::2]=sorted(x[::2],reverse=True)
print(x)

你可能感兴趣的:(Python,python,开发语言,数据库)