Python语言基础编程

发布于:2022-10-21 ⋅ 阅读:(265) ⋅ 点赞:(0)

1、编写程序,输入一个9位数,将其分解为3个3位的整数并输出,其中个、十、百位为一个整数,千、万、十万位为一个整数,百万、千万、亿位为一个整数。

while 1:
  a = int(input("请输入一个九位数:"))
  if 99999999 < a <= 999999999:
    one = a // 1000000
    tow = a // 1000 % 1000
    three = a % 1000
    print(f"{a}可以分解为:{one},{tow},{three}")
    break
  else:
    print("非法数字")

本程序的主要使用了if-else语句。首先要求输入一个九位数,再通过if语句来判断是用户输入的是否是九位数,如果不是将通过else语句进行提示;将九位数进行分解,这里使用了取整、求余的算法。其运行结果如图所示:

 

2、输入一个成绩,输出对应的五级制成绩。100~90,优秀;80~89,良好;70~79,

中等;60~69,及格;<= 59,不及格。具体代码如下:

score = int(input("请输入成绩:"))
if score > 100 or score < 0:
    print("非法数字!")
elif score >= 90:
    print("您的成绩等级为:优秀")
elif score >= 80:
    print("您的成绩等级为:良好")
elif score >= 70:
    print("您的成绩等级为:中等")
elif score >= 60:
    print("您的成绩等级为:及格")
else:
    print("您的成绩等级为:不及格")

本程序主要使用了“if-elif-else”语句。首先通过if语句判断用户输入的是否是一个合法的数字,如果不是合法数字将给用户提示;在elif和else语句中判断成绩级。本程序要着重注意边界数的确定。其运行结果如图所示:

 

3、先让程序产生一个0~100的随机数,然后编写“猜数字”游戏,直到猜出数字为止。具体代码如下:

import random
num = random.randint(1,100)
print("欢迎来到猜数游戏,你有5次机会,数字范围是1~100的整数数字")
choice = 1
while choice < 6:
    guess = int(input("请输入一个合法数字:"))
    if 0 <= guess <=100:
        if guess == num:
          print("你猜对了")
          break
        elif guess > num:
          print("你猜的数大了")
        else:
          print("你猜的数小了")
    else:
        print("非法数字,请重新输入")
    choice += 1
else:
    print(f"很遗憾你没有猜对,正确答案是:{num}")

首先,导入random模块包,再通过使用其中的randint(a,b)函数随机生成一个在范围内(a,b)之间的数。然后使用print()语句给出用户提示语句,用变量choice代表猜数的次数;紧接着使用while循环来控制猜数的次数,并在其中使用“if-elif-else”语句来判断猜的数的大小以及是否合法,使用break来控制循环的是否继续执行;如果五次均没有猜对将给出答案。其运行结果如图所示:

 

4、1,2,3,4能组成多少个互不相同且无重复数字的三位数?各是多少?具体代码如下:

count = 0
print("1-4中互不相同且无重复数字的三位数有:")
for c in range(1,5):
    for d in range(1,5):
        for e in range(1,5):
            if( c != e ) and (c != d) and (d != e):
                count += 1
                print(c,d,e,end=',')
print(f"\n符合条件的数一共有{count}个")

首先使用变量count来计算合格数的个数;三次使用“for c in range(1,5):”语句其中的rang()语句是指1至4的数字,通过循环对三位数的个十百位进行依次赋值;在if语句中对三位数的个十百位进行比较,如果均不相同则输出并计入count中,如果不符合就继续执行循环;在最后输出count的值即为符合条件的个数。其运行结果如图所示:

 

5、如果一个数恰好等于它的因子之和,这个数就称为“完数”。如6 = 1 + 2 + 3。请找出1000以内的所有完数。具体代码如下:

print("1000以内的完数有:",end=" ")
for i in range(1,1001):
    a = 0
    for j in range(1, i):
        if i % j == 0:
            a += j
            if a == i:
               print(i,end=" ")

首先遍历1000以内的所有数,然后把取出的数赋值给另一个变量a,用于与所有因子作差,若果减去所有的因子后结果为0,这个数即为完数;接着查找并找出因子,最后判断是否未完数输出结果。其运行结果如图所示:

 


网站公告

今日签到

点亮在社区的每一天
去签到