python程序设计-1~4章(python-IDLE)

第一章

1.输出10个10以内的随机整数

import random

print('输出10个10以内的随机整数:')

for i in range(10):

     print(random.randrange(10),end=' ')

2.计算输入整数的阶乘

def fac(n):
    if n==0:
        return 1
    else:
        return n*fac(n-1)

a=eval(input('请输入一个整数:'))

print(a,'!=',fac(a))

3.输出九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print('%s*%s=%-2s'%(i,j,i*j),end='')
    print()

第二章

1.编写程序将数据输出到文件outtest2-6.txt,完成输出后,文件中的内容如下。

Python

Java

C++

file_handle=open('outtest.txt',mode='w')
file_handle.writelines(['Python\n','Java\n','C++\n'])
file_handle.close()

2.编程输入任意数量的数字,输出其和,示例运行结果如下。

请输入多个数据:1,2,3,4

和= 10

提示:sum()函数可计算序列对象中所有元素的和,例如,sum([1,2,3])。

list1=eval(input("请输入多个数据"))
print("和=",sum(list1))

第三章

1.任意两个整数a和b,输出a除以b的商和余数,示例运行结果如下。
请输入两个整数:23,4

23除以4的商:5

23除以4的余数:3

a,b=eval(input("请输入两个整数:"))
print("{}除以{}的商".format(a,b),a//b)
print("{}除以{}的余数".format(a,b),a%b)

2.输入一个不大于255的正整数,输出其8位二进制、八进制和十六进制编码(要求使用字符串的format()方法)。示例运行结果如下。
请输入一个不大于255的正整数:23
二进制:00010111
八进制:00000027
十六进制:00000017

a=eval(input("请输入一个不大于255的正整数:"))
print("二进制:{0:08b}".format(a))
print("八进制:{0:08o}".format(a))
print("十六进制:{0:08X}".format(a))

3.求解一元二次方程ax2+bx+c=0,系数a、b、c通过键盘输入(保留2位小数),示例运行结果如下。

示例1:

请输入方程的系数a,b,c:1,-1,-6
方程的解x1=3.00
方程的解x2=-2.00

示例2:

请输入方程的系数a,b,c:1,2,1

方程的解x1=x2=-1.00

示例3:

请输入方程的系数a,b,c:1,2,4

方程的解x1=-1.00+1.73j

方程的解x2=-1.00-1.73j

import math
a,b,c=eval(input('请输入方程的系数a,b,c:'))
d=b*b-4*a*c
if d>0:
    x1=(-b+math.sqrt(d))/(2*a)
    x2=(-b-math.sqrt(d))/(2*a)
    print('方程的解x1=%.2f'%x1)
    print('方程的解x2=%.2f'%x2)
if d==0:
    print('方程的解x1=x2=%.2f'%(-b/(2*a)))
if d<0:
    x1=-b/(2*a)
    x2=math.sqrt(-d)/(2*a)
    print('方程的解x1=%.2f+%.2fj'%(x1,x2))
    print('方程的解x2=%.2f-%.2fj'%(x1,x2))


4.输入一个字符串,找出其中最大的字符,输出该字符及其在字符串中的位置,示例运行结果如下。
请输入一串字符:8wyekjndfiq
最大字符为:y,其位置为:2

a=input('请输入一串字符:')
c=max(a)
print('最大字符为:%c,其位置为:%d'%(c,a.index(c)))

#或者
#print('最大字符为:{0},其位置为:{1}'.format(c,a.index(c)))

5.输出文本进度条。运行效果如下:

(使用Jupyter Notebook运行)

import time
scale=50
print("\n"+"执行开始".center(scale//2,'-'))
start=time.perf_counter()
for i in range(scale+1):
    a='*'*i
    b='.'*(scale-i)
    c=(i/scale)*100
    dur=time.perf_counter()-start
    print("\r{:.2f}s[{}{:^.0f} %>{}]".format(dur,a,c,b),end='')
    time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))

第四章

1.任意输入两个正整数,计算其最大公约数和最小公倍数。

a,b = eval(input("请输入两个整数:"))
x,y=a,b
a=max(x,y)
b=min(x,y)
d=a%b
while d!=0:
    a,b,d = b,d ,a%b
print("{}, {}的最大公约数是 {}".format(x,y,b))
print("{}, {}的最小公倍数是 {}".format(x,y,x*y//b))

2.输出所有的“水仙花”数。“水仙花”数是一个三位数,它的各位数字的立方和等于该数。例如,13+53+33=153,153是“水仙花”数。

for n in range(100,1000):
    a=n//100      #百位数
    b=n//10%10    #十位数
    c=n%10        #个位数
    if a**3 + b**3 + c**3 == n:
        print(n)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值