发布于2021-07-25 07:36 阅读(1235) 评论(0) 点赞(28) 收藏(5)
今天做关于分支(选择)和循环结构的例题。
作业:单位转换
x = float(input('请输入需要转换的长度'))
y = input()
if y == 'cm':
print(f'{x}cm = {x / 2.54}in')
elif y == 'in':
print(f'{x}in = {x * 2.54}cm')
x=0
for i in range(1, 101):
if i % 3 == 0 or i % 5 == 0:
x += i
print(i, end=' ')
print(x)
n = int(input('n='))
print('n'.ljust(10), end='')
print('square'.ljust(10), end='')
print('cube'.ljust(10), end='')
print('nth-power'.ljust(10))
for i in range(1, n + 1):
print(f'{i:<10d} {i ** 2:<10d} {i ** 3:<10d} {i ** i:<10d}')
x = 1
n = int(input('n='))
for i in range(1, n + 1):
x *= i
print('n的阶乘', x)
a = int(input('a='))
b = int(input('b='))
for i in range(b, 0, -1):
if a % i == 0 and b % i == 0:
print(f'{a}和{b}的最大公约数是{i}')
break
a = int(input('a='))
b = int(input('b='))
while b % a != 0:
a, b = b % a, a
print(f'{a}和{b}的最大公约数是{i}')
for i in range(100, 1000):
a = i // 100
b = i % 10
c = i // 10 - a * 10
if a ** 3 + b ** 3 + c ** 3 == i:
print(i)
for i in range(1, 10001):
x = 0
for j in range(1, i):
if i % j == 0:
x += j
if x == i:
print(x)
import time
start = time.time()
for i in range(2, 10000):
x = 1
for j in range(2, int(i ** 0.5)+1):
if i % j == 0:
x += j
if j != i // j:
x += i // j
if x == i:
print(i)
end = time.time()
print(f'执行时间{end - start:.3f}秒')
m = int(input('m='))
n = int(input('n='))
x, y, z = 1, 1, 1
for i in range(1, m + 1):
x *= i
for j in range(1, n + 1):
y *= j
for k in range(1, m - n + 1):
z *= k
print(f'C({m},{n})={x / (y * z)}')
x = int(input('请输入一个正整数:'))
for i in range(2, x):
if x % i == 0:
print(f'{x}不是质数')
break
elif i == x - 1:
print(f'{x}是质数')
简单优化
x = int(input('请输入一个正整数:'))
for i in range(2, x):
y = True
if x % i == 0:
print(f'{x}不是质数')
y = False
break
if y == True:
print(f'{x}是质数')
a = float(input('a='))
b = float(input('b='))
c = float(input('c='))
while not(a + b > c and b + c > a and a + c > b):
print('不能构成三角形,请重新输入')
a = float(input('a='))
b = float(input('b='))
c = float(input('c='))
p = (a+b+c)/2
print(f'周长为{a+b+c}, 面积为{(p*(p-a)*(p-b)*(p-c)) ** 0.5}')
while True:
a = float(input('a='))
b = float(input('b='))
c = float(input('c='))
if a + b > c and b + c > a and a + c > b:
p = (a + b + c) / 2
print(f'周长为{a + b + c}, 面积为{(p * (p - a) * (p - b) * (p - c)) ** 0.5}')
break
else:
print('不能构成三角形,请重新输入')
n = int(input('n='))
x = n
total = 0
while n > 0:
total = total * 10 + n % 10
n //= 10
print(f'{x}翻转之后得到{total}')
for i in range(1, 10):
for j in range(1, i+1):
print(f'{i} * {j} = {i * j}', end='\t')
print()
n = int(input('n='))
x, y = 0, 1
for i in range(1, n + 1):
z = x + y
y = x
x = z
print(z, end=' ')
# n = int(input('n='))
# x, y = 0, 1
# for _ in range(1, n + 1):
# y, x = x, x+y
# print(x, end=' ')
采用穷举法:列举所有可能性,然后设置条件,找到问题的解(暴力破解法)
for x in range(0, 21):
for y in range(0, 34):
for z in range(0, 100, 3):
if x + y + z == 100 and 5 * x + 3 * y + z / 3 == 100:
print(x, y, z, sep=',')
for x in range(0, 21):
for y in range(0, 34):
z = 100 - x - y
if z % 3 == 0 and x + y + z == 100 and 5 * x + 3 * y + z / 3 == 100:
print(x, y, z, sep=',')
五个人(ABCDE)晚上去捕鱼,捕了不计其数的鱼,然后累了去睡觉。
第二天,A第一个醒过来,把鱼分成5份,扔掉了多余的一条,然后拿走了自己的一份;
B第二个醒过来,以为鱼没有被分过,把剩下的鱼分成了5份,扔掉了多余的一条,拿走自己的1份;
C、D、E依次醒过来,都按照同样的方法来分鱼。问他们最少捕了多少条鱼
i = 1
while True:
k = i
j = True
for _ in range(5):
if (k - 1) % 5 == 0:
k = (k - 1) * 4 / 5
else:
j = False
break
if j:
print(i)
break
i += 5
计算机产生一个1-100的随机数,人输入自己猜的数字
计算机给出对应的提示“大一点”、“小一点”或“恭喜你猜对了”,直到猜中为止
如果猜的次数超过7次,计算机温馨提示“智商余额明显不足”
import random
x = random.randrange(1, 101)
y = int(input('请猜测一个数字'))
c = 1
while x != y:
if x > y:
print('大一点')
else:
print('小一点')
c += 1
y = int(input('请猜测一个数字'))
print('恭喜你猜对了')
print(f'共猜了{c}次')
if c > 7:
print('智商余额明显不足')
x, y, z = 100, 0, 0
for _ in range(10):
i = int(input('请输入0到100的整数:'))
z += i
if x > i:
x = i
if y < i:
y = i
print(f'平均值{z / 10},最大值{y},最小值{x}')
原文链接:https://blog.csdn.net/m0_52863098/article/details/119007673
作者:你做的菜有点咸
链接:http://www.pythonpdf.com/blog/article/503/98f3b04056cdf40b13bd/
来源:编程知识网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!