2017-10-16 173 views
0

我有两个问题: 1)如何在for循环中重复n的初始值,以便首次打印此初始值n {n} 2)我怎样才能让{p}从值1至2 print语句变化以3比。pPython:更改打印语句中的值

的代码在Python:它的值更改之前

p = int(input("Input a number: ")) 
n = int(input("Input a number: ")) 

for i in range(p): 

    s = n%p 
    v = n - s 
    k = (v//p) - s 
    n = k*(p-1) 

    s = 'no' if s == 0 else str(s) 
    nuts = 'nut' if s == 1 else 'nuts' 

    print(f'{n} nuts = {k} nuts for cows#{p} and {s} {nuts} for the snake') 
+0

你应该用实际的变量名到你的代码,而不是单个字母的变量,它会让你的代码更易于阅读,从而容易纠正 – 0TTT0

回答

0

打印n。添加1p打印时:

p = int(input("Input a number: ")) 
n = int(input("Input a number: ")) 

for i in range(p): 

    s = n % p 
    v = n - s 
    k = v // p - s 

    s = 'no' if s == 0 else str(s) 
    nuts = 'nut' if s == 1 else 'nuts' 

    print(f'{n} nuts = {k} nuts for cows#{p+1} and {s} {nuts} for the snake') 

    n = k*(p-1) 
+0

如果s == 1我在印刷声明中用坚果代替坚果。我看不出我的代码有什么问题 – user8703504

+0

很难说你的代码有什么问题,因为你没有说出它应该做什么。你的变量名称不会告诉任何有关它们的用途。你没有评论。 – warvariuc

+0

一切都可以与代码。除非我在赋值之前使用可变螺母,这是错误的。如果s == 1,他不打印'坚果',但'坚果'不正确。我该如何调整? – user8703504

0

P = INT(输入( “输入一个号码: ”)) N = INT(输入(“ 输入一个号码:”))

对于i在范围(1,p + 1):

s = n%p 
v = n - s 
k = (v//p) 

if s == 0: 
    print(f'{n} nuts = {k} nuts for cow#{i} and no nuts for the snake') 

if s == 1: 
    print(f'{n} nuts = {k} nuts for cow#{i} and 1 nut for the snake') 

if s > 1: 
    print(f'{n} nuts = {k} nuts for cow#{i} and {s} nuts for the snake') 


n = k*(p-1)