2017-10-16 176 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)