python第二次上机课代码 ( p71 )

4-1:

x = float(input("请输入x的值: "))
if x >= 1 :
    ans=2*x+1
else :
    ans=4*x/(x-1)
print("所得结果为:{} ".format(ans))

4-2:

x = int(input("请输入要判断的年份:"))
if (x%4 == 0 and x%100!=0) or x%400==0:
    print("{}年是闰年!".format(x))
else :
    print("{}年不是闰年!".format(x))

4-3:

#用while循环计算:
i = 0
sum = 0
while i <= 100 :
    sum += i
    i = i + 1
print("用while计算1-100的和为:{}".format(sum))
#用for计算
sum = 0
for i in range(1,101):
    sum = sum + i
print("用for计算1-100的和为:{}".format(sum))

4-4:

n = int(input("请输入一个数n:"))
sum = 1
i = 1
# while循环:
while i <= n:
    sum *= i
    i += 1
print("用while循环计算的{}的阶乘为:{}".format(n , sum))
# for循环
sum = 1
for i in range(1,n+1):
    sum *= i
    i += 1
print("用for循环计算的{}的阶乘为:{}".format(n,sum))

4-5:

n = int(input("请输入n的值:"))
ans = 0
for i in range(1, n+1):
    if i % 2 == 1:
       ans += i*2
    else:
       ans -= i*2
print("S({})的值为:{}".format(n, ans))

4-6:

import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# a, b, c = map(float, input())
# a, b, c = float.split())
flag = 0
delat = b * b - 4 * a * c
if delat < 0 :
    print("方程无解!")
elif delat == 0:
    x = (-b + math.sqrt(b * b - 4 * a * c)) / (2 * a)
    print("方程只有一个解{}".format(x))
else:
    if a == 0 and b == 0:
        print("有无数个解!")
    elif a == 0:
        x = - (c / b)
        print("方程只有一个解{}".format(x))
    else:
        x1 = (-b + math.sqrt(delat)) / (2 * a)
        x2 = (-b - math.sqrt(delat)) / (2 * a)
        print("方程有两个解,分别为:{}和{}".format(x1,x2))

4-7:

str1 = input("请输入一行字符串:")
num_dig = 0
num_letter = 0
num_space = 0
num_other = 0
for x in str1:
    if x.isdigit():
        num_dig += 1
    elif x.isalpha():
        num_letter += 1
    elif x.isspace():
        num_space += 1
    else:
        num_other += 1
print("该字符串中数字的个数为:{},英文字母的个数为:{},空格的个数为:{},其他字符的个数为:{}。".format(num_dig, num_letter, num_space, num_other))

4-8:

print("所有的三位数的水仙花数列表如下:")
for i in range(100, 1000):
    a = i % 10
    b = i // 10 % 10
    c = i // 100 % 10
    tmp = a ** 3 + b ** 3 + c ** 3
    if tmp == i :
        print(i)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值