简单的python习题4
学习之路就此开始,upup
希望大家看一看,我想知道自己的代码哪里有问题,比如浪费时间,浪费空间,代码格式不对之类的问题。多种方式哪一种比较好?怎么写比较好?给出你的意见。感谢你的意见。
我会虚心学习。加油!:- )
(博客编辑问题:
这个在编辑的时候,标记里的第一个和第二个格式怎么能不改变?(为什么对不齐?)
第一个编辑时乘号
不显示,我得加个空格才能显示
。)
1. 用类似于 1 * 1 = 1 1 * 2 = 2 . . . 的形式打印乘法口诀表。
i = 2
x = 1
print('{:>3}'.format(' '), end='')
while x<10:
print('{:<7}'.format(x), end='')
x += 1
print()
for x in range(1,10):
print('{:<3}'.format(x), end='')
for y in range(1, i):
z = x * y
print( y, '*', x, '=', '{:<3}'.format(z), end='',sep='')
print()
i += 1
1 2 3 4 5 6 7 8 9
1 1* 1=1
2 1* 2=2 2* 2=4
3 1* 3=3 2* 3=6 3* 3=9
4 1* 4=4 2* 4=8 3* 4=12 4* 4=16
5 1* 5=5 2* 5=10 3* 5=15 4* 5=20 5* 5=25
6 1* 6=6 2* 6=12 3* 6=18 4* 6=24 5* 6=30 6* 6=36
7 1* 7=7 2* 7=14 3* 7=21 4* 7=28 5* 7=35 6* 7=42 7* 7=49
8 1* 8=8 2* 8=16 3* 8=24 4* 8=32 5* 8=40 6* 8=48 7* 8=56 8* 8=64
9 1* 9=9 2* 9=18 3* 9=27 4* 9=36 5* 9=45 6* 9=54 7* 9=63 8* 9=72 9* 9=81
2. 输出 1000以内的素数,格式如下:每行10个数的位置,该位置如果不是素数,则输出横线 -,否则输出该素数。一共输出10行。 例如:
— 2 3 — --- 5 — 7 — --- —
11 — 13 — --- — 17 — 19 —
— --- 23 — --- — --- — 29 —
…
k = 1
for x in range(1,1001):
j = x ** 0.5
i = 1
while i <= j:
i += 1
if x != 2 and x % i == 0 or x == 1:
print('--- ', end='')
break
else:
if i > j :
print('{:<4}'.format(x), end='')
if x % 10 == 0:
print()
k += 1
if k > 10:
break
— 2 3 — 5 — 7 — --- —
11 — 13 — --- — 17 — 19 —
— --- 23 — --- — --- — 29 —
31 — --- — --- — 37 — --- —
41 — 43 — --- — 47 — --- —
— --- 53 — --- — --- — 59 —
61 — --- — --- — 67 — --- —
71 — 73 — --- — --- — 79 —
— --- 83 — --- — --- — 89 —
— --- — --- — --- 97 — --- —
3. 求解百鸡问题:今有鸡翁一,值钱伍;鸡母一,值钱三;鸡鶵三,值钱一。凡百钱买鸡百只,问鸡翁、母、鶵各几何?
for z in range(0,101):
if z % 3 != 0:
continue
else:
for x in range(0,101):
for y in range(0,101):
result1 = 5*x + 3*y + (1/3)*z
result2 = x + y + z
result = True if result1 == 100 and result2 == 100 else False
if result:
print('鸡翁', x, ',母', y, ',鶵', z,sep='')
for z in range(0,101):
if z % 3 != 0:
continue
else:
for x in range(0,101):
for y in range(0,101):
if 5*x + 3*y + (1/3)*z == 100 and x + y + z == 100:
print('鸡翁', x, ',母', y, ',鶵', z,sep='')
鸡翁0,母25,鶵75
鸡翁4,母18,鶵78
鸡翁8,母11,鶵81
鸡翁12,母4,鶵84
4. 输入一个字符串,打印其中每个字符的ASCII码值。并找出其中ASCII码值最大的那些字符。
a = input('输入一个字符串:')
for x in a:
y = x
break
for x in a:
if x >= y:
y = x
print(x, ':{:<5}'.format(ord(x)), end='',sep='')
print()
print('ANCII码值最大:', end='')
for z in a:
if z == y:
print(z, end='')
输入一个字符串:qazwsxAZ123/*-+=zzza
q:113 a:97 z:122 w:119 s:115 x:120 A:65 Z:90 1:49 2:50 3:51 /:47 *:42 -:45 +:43 =:61 z:122 z:122 z:122 a:97
ANCII码值最大:zzzz